Здравствуйте Возникла задача фильтровать запросы пользователей в google и, в зависимости от того, что пользователь ищет, показать (возможно) другую страницу. С http://google.com проблем нет — перехватывается и GET-запросы отлично анализируются Но вот недавно (или давно?) в некоторых браузерах по-умолчанию добавили "использовать безопасный поиск", и все запросы идут на encrypted.google.com, который SSL, и который анализировать достаточно сложно. (да, я знаю что есть ssl-прокси серверы, но самому написать что-то подобное пока духу не хватит). Сафари, например, ни с того ни с сего при вводе google.com в адресной строке перенаправил меня на encrypted.google.com. Система — Unix (вернее, BSD). Хотелось бы при попытке браузера перейти на encrypted.google.com перенаправлять его на google.com. Как можно такое сделать? Например, можно как-то запретить DNS резолюцию encrypted.google.com, или запросы на IP-адрес, к которому обращается система при переходе на encrypted.google.com (хотя, серверов же много, в зависимости от страны, верно? Соответственно и IP должно быть много..) Основной браузер — Safari, но желательно и для всех остальных. Может, что-нибудь посоветуете? Возможно ли это сделать? Спасибо
_DEN_ Ну а как работают SSL прокси вроде Squid? А что вы можете посоветовать в таком случае, кроме перехвата функций криптования в каждом из популярных браузеров?
AlwaysAlone SSL прокси работают тогда, когда программа знает, что она работает через прокси А у тебя, как я понял, нужно отпроксировать SSL незаметно для программы. Вот тут-то юзеру и скажут, что мол ахтунг, сертификат не подходит к хостнейму. Я думаю что нужно перехватывать DNS resolve чтобы можно было подсунуть свой IP под hostname, чтобы броузер не ругался на сертификат. Хотя я х.з., не сверяют ли они IP во время SSL handshake, или каком-то таком уровне. Однако, не совсем ясно, какой смысл проксировать уже зашифрованный трафик. Если же речь идет о том, чтобы прокинуть SSL на свой сервер, а свой сервер будет ходить напрямую, и свой же сервер будет заниматься шифрованием, то тут же будет другая проблема - у тебя же нет сертификата гугла с приватным ключем, а это значит, что броузер будет ругаться, что сервер предоставил не trusted сертификат. C IE все просто - он сам не реализует HTTP - он юзает wininet.dll (или какую-то из них), в том числе и для HTTPS, и туда уходит контент еще до зашифровки - ее можно просто похукать (так работает большинство формграберов). Но вот с другими броузерами это не прокатит, HTTP и SSL/TLS они реализуют сами, поэтому придется реверсить и писать инжект под каждый билд каждого броузера.