Tworzę sobie aplikacje desktopową używającą przeglądarki embedded opartej na wxWidgets, która używa przeglądarki internet explorer wbudowanej w system operacyjny.
W przeglądarce ładuję facebooka lub twittera dając użytkownikowi możliwośc logowania i wysyłania zdjęć lub wiadomości.
Dostęp do obu stron odbywa się za pośrednictwem oficjalnego API w php.
Po każdej sesji czyszczę przeglądarki za pomocą skryptu bat, który znalazłem na sieci, jego kod wygląda tak:
Kod
@echo off
set DataDir=C:\Users\%USERNAME%\AppData\Local\Microsoft\Intern~1
del /q /s /f "%DataDir%"
rd /s /q "%DataDir%"
set History=C:\Users\%USERNAME%\AppData\Local\Microsoft\Windows\History
del /q /s /f "%History%"
rd /s /q "%History%"
set IETemp=C:\Users\%USERNAME%\AppData\Local\Microsoft\Windows\Tempor~1
del /q /s /f "%IETemp%"
rd /s /q "%IETemp%"
set Cookies=C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Cookies
del /q /s /f "%Cookies%"
rd /s /q "%Cookies%"
C:\bin\regdelete.exe HKEY_CURRENT_USER "Software\Microsoft\Internet Explorer\TypedURLs"
set DataDir=C:\Users\%USERNAME%\AppData\Local\Microsoft\Intern~1
del /q /s /f "%DataDir%"
rd /s /q "%DataDir%"
set History=C:\Users\%USERNAME%\AppData\Local\Microsoft\Windows\History
del /q /s /f "%History%"
rd /s /q "%History%"
set IETemp=C:\Users\%USERNAME%\AppData\Local\Microsoft\Windows\Tempor~1
del /q /s /f "%IETemp%"
rd /s /q "%IETemp%"
set Cookies=C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Cookies
del /q /s /f "%Cookies%"
rd /s /q "%Cookies%"
C:\bin\regdelete.exe HKEY_CURRENT_USER "Software\Microsoft\Internet Explorer\TypedURLs"
Dane są czyszczone ale jednak nie w 100% ponieważ mam taką systację, że np. próbuje zalogować się na FB używając loginu i celowo niepoprawnego hasła, po kilku próbach FB przekierowuje na stronie gdzie pyta "Czy to ty" itp. pewnie wiecie o jaką stronę chodzi.
W momencie pojawienia się tej strony, usuwam przeglądarkę oraz wywołuję podany wyżej skrypt.
Po ponownym utworzeniu przeglądarki i wysłaniu prośby o autoryzację FB mam pokazywane to samo okno, czyli jednak jakieś dane przeglądarki nie zostały usunięte.
Teraz pytanie o jakie dane może jeszcze chodzić poza tymi które czyszczę w skrypcie ?
Czy da się przed autoryzacją FB usunąć ostatnio nie poprawnie zalogowanego użytkownika z historii FB na lokalnym PC ?
Dodam, że robiłem eksperyment w Firefox wykonując tą samą czynność co w przeglądarce embebbed w moje aplikacji, jedank po pojawieniu się strony z "Czy to ty" użyłem dodatku firefoxa "Remove Cookies for site", który usuwa ciastecza wybranej strony i po ponownym przeładowaniu FB miałem dostęp do czystej strony FB, czyli takiej o którą mi chodzi. Czyli tutaj na 100% problem dotyczy nieusuniętych ciasteczek internet explorera.
Ok, sam sobie odpisze i zamknę temat.
Okazuje się, że ścieżek przechowujących dane Internet Explorera jest o wiele więcej niż się wydaje.
Może komuś się przyda, to podaję listę folderów i kluczy w rejestrze dla IE od wersji 6 aż do wersji 11:
IE6-9
IE10
IE11