Создание файла cookie вне веб-браузера (например, с помощью VBScript) - PullRequest
1 голос
/ 23 сентября 2011

Очень случайный запрос - и поверьте мне, я бы тоже не хотел этого делать.По сути, пользователи-клиенты используют веб-сайт, который использует некоторые другие технологии, которые мы внедряем.Мы исчерпали все другие пути, чтобы заставить вещи работать должным образом, поэтому я сейчас нахожусь на территории временного решения / ошибки.

На сайте я нашел вариант, который заставляет вещи работать.Тем не менее, нежелательно (и, к сожалению, излишне запутанно), чтобы мы заставляли пользователей самим это настраивать.

Поэтому я хотел бы / нужно сделать, чтобы установить cookie при входе в систему компьютера.Все файлы cookie содержат «0: -», что просто отключает функцию, которую нам нужно отключить.

Опять же, я понимаю, что это крайне нежелательно, но, если я найду выход из этого, тогда я будуиз леса.Идеально в VBScript, но на самом деле все, что невидимо для пользователей, хорошо.

Просто для контекста, это домен Server 2008 R2 с клиентами Vista и Windows 7, работающими с IE8 и IE9.Это область работы и все, что мне нужно, чтобы начать работать!

Я рад услышать альтернативные предложения, но в итоге мы хотим автоматически отключить эту функцию для наших пользователей.

Любая помощь с благодарностью получена.

Редактировать: я пометил C #, так как я тоже достаточно знаком с этим (из SysAdmin PoV)

Спасибо,

Dan

Ответы [ 3 ]

3 голосов
/ 24 сентября 2011

Ну, я думаю, что я мог взломать его в C #.Вот мои выдержки из кода:

    [DllImport("ieframe.dll", CharSet = CharSet.Auto, SetLastError = true)]
    private static extern bool IESetProtectedModeCookie(string url, string name, string data, int flags);

    public static bool SetWinINETCookieString()
    {
      IESetProtectedModeCookie("http://url.co.uk", "name", "data=blah; expires = Sat,01-Jan-2012 00:00:00 GMT; path=/", 0x10);
      IESetProtectedModeCookie("http://url.co.uk", "name", "data=blah; expires = Sat,01-Jan-2012 00:00:00 GMT; path=/", 0);

     return true;
    }

Кажется, что необходимо установить cookie дважды (с двумя разными флагами), чтобы получить согласованное поведение независимо от того, посещался ли сайт ранее или нет.

Добавлены следующие строки для перехвата незащищенного режима.Это похоже на все базы и работает на IE9 и IE8:

    [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
    private static extern bool InternetSetCookie(string url, string name, string data);

    InternetSetCookie("http://url.co.uk", "Name", "data=blah; expires = Sat,01-Jan-2012 00:00:00 GMT; path=/");
0 голосов
/ 23 сентября 2011

Вы не можете отключить функции, если ни один cookie не найден.Поэтому, когда пользователь открывает приложение и у него нет файла cookie, но вы отключаете эту функцию?

Возможно, создайте другой URL-адрес входа для тех пользователей, которые отправляют некоторую переменную управления или получают доступ к другому URL-адресу, в отличие от обычногопользователи.Вы можете направить их на этот URL, например, по ссылке на их рабочем столе?

0 голосов
/ 23 сентября 2011

[Обновление: Поскольку мой первоначальный ответ был полностью чепухой ...]

  • Вообще говоря, файлы cookie - это простой текст.
  • IE-файлы cookie создаются как , что [Возможно, вы также хотите прочитать это - так как вам нужны значения FILETIME для создания вашего собственного cookie-файла].
  • Затем в Win7 вы найдете файлы cookie, хранящиеся в %userprofile%\AppData\Roaming\Microsoft\Windows\Cookies\Low

С этими строительными блоками вы сможете создавать решение, соответствующее вашим потребностям.

[И еще одно обновление: вы также должны взглянуть на взаимодействие IE index.dat - реестра файлов cookie (файлов) - и самого файла cookie.Может быть, вам нужно: а) зарегистрировать ваш cookie в index.dat вручную или - если это не работает - б) удалить index.dat после того, как вы создали файл cookie (IE перестроит его тогда, когда браузер запустится в следующий раз).]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...