2016-04-18 4 views
0

Я хотел бы создать сайт с аналогичной функциональностью, такой как translate.google.com или hypothes.is: пользователи могут вводить любой адрес и открывать сайт с помощью дополнительного меню. Я полагаю, что это делается с помощью некоторого промежуточного прокси-решения, и javascript вводится в ответ, но я не уверен. Вы знаете, как реализовать ту же функцию? Как он может работать с защищенными (https) сайтами?Правильный способ ввода кода javascript?

Большое спасибо

ответ

0

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

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

Сертификат действителен, поскольку он обслуживается в домене google.

Для того, чтобы фактически осуществить что-то вроде этого, потенциально может быть довольно сложным, так как:

  • HTML, вы разборе не обязательно соответствовать вашим ожиданиям, или даже быть действительным
  • Содержание Вас пересылка клиенту, скорее всего, будет ссылаться на ресурсы с относительным URI. Это означает, что вам также необходимо перехватить эти запросы и вытащить ресурсы (изображения, внешние css, js и т. Д.) И вернуть их клиенту, а также переписать URL-адреса.
  • Очень легко сломать контент, введя произвольный javascript. Вам нужно быть осторожным, чтобы ваш введенный код содержался и не мешал никакому существующему коду на сайте.
  • Это очень распространено для реализации, такой как это, чтобы иметь неочевидные проблемы безопасности, часто приводящие к возможным атакам XSS.