JavaScript / Greasemonkey: как избежать предупреждения безопасности FireFox при отправке формы с защищенной страницы

Я пишу сценарий Greasemonkey для соединения двух внутренних веб-страниц компании. Один - это SSL, а другой - небезопасный, доступ к нему можно получить только через запрос POST. Если я создаю скрытую форму на защищенной странице и отправляю ее через onclick()in <a>, она работает нормально, но FF выдает предупреждение:

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

Вы уверены, что хотите продолжить отправку этой информации? "

К небезопасной странице нельзя получить доступ через SSL, а к другой нельзя получить доступ без нее, и я не могу изменить ни один из серверов = \ Есть ли способ избежать этого предупреждения, используя какой-то JavaScript / Greasemonkey перенаправить магию? Спасибо!

РЕДАКТИРОВАТЬ: предупреждение не может быть отключено (по довольно веским причинам, так как трудно сказать, если то, что вы собираетесь отправить, безопасно, в противном случае). Я в основном задаюсь вопросом, есть ли способ POST в JavaScript, не смотря на то, что вы отправляете форму.

10.12.2008 14:55:22
Написание скрипта GreaseMonkey для корпоративных целей? Это потрясающе!
Adam Rezich 10.12.2008 16:32:10
4 ОТВЕТА

Это настройка браузера, которая не может (или не должна) изменяться Javascript.

Если сценарий не должен использоваться более чем одним пользователем, Сервис -> Параметры -> Безопасность. Вы можете нажать на настройки, чтобы отобразить, какие предупреждающие сообщения отображаются. Обратите внимание, что в настоящее время это влияет на все сайты, а не только на вашу внутреннюю систему.

0
10.12.2008 16:14:55

Вы можете настроить новый сайт SSL как прокси, который просто передает данные обратно на небезопасный сайт. Или просто попросите всех пользователей отключить это конкретное предупреждение системы безопасности. (Извините команду FF, но это не очень полезное сообщение для начала.)

1
10.12.2008 16:20:53

Это может быть возможно с помощью GM_xmlhttpRequest. например,

GM_xmlhttpRequest({
  method: 'POST',
  url: 'http://your.insecure.site.here',
  onload: function(details) {

      // look in the JavaScript console 
      GM_log(details.responseText);

      /* This function will be called when the page (url) 
      has been loaded. Do whatever you need to do with the remote page here.*/
  }
});

API / дополнительная информация здесь: GM_xmlhttpRequest wiki

2
11.12.2008 09:16:04

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

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

В противном случае люди могли бы создавать ужасно плохие формы, которые отправляют данные вашей кредитной карты или другую конфиденциальную информацию в открытом виде по небезопасному Интернету без предупреждения. Поскольку эта конфиденциальная информация проходит через Интернет, она почти наверняка проходит через сети, контролируемые людьми, с которыми вы не захотите делиться этими конфиденциальными данными. Отсюда и предупреждение. Удалите его или дайте ему всегда игнорироваться, и вы удаляете надежность SSL, TLS и HTTPS, на которые люди полагаются для электронной коммерции и т. Д.

Если вы сомневаетесь, что люди будут достаточно некомпетентны, чтобы создавать подобные формы, я купил сайт, занимающийся этим менее часа назад. По крайней мере, Firefox предупредил меня об этом, и я мог передать проблему владельцу сайта.

Давайте будем очень ясно здесь. Проблема с владельцами сайтов, а не с командой разработчиков Firefox или Mozilla. Как я уже говорил, иногда бывает целесообразно отправлять данные POST в открытом виде с защищенного сайта, но невозможно отличить их без вмешательства человека. Вот почему это сообщение не может быть подавлено общей политикой, и не должно быть.

Вполне может быть целесообразным добавить конкретное исключение в конкретную форму, идентифицируемое URI, поскольку пользователь может определить, что вся информация в форме не является конфиденциальной, при условии, что информация, введенная в форму, не изменяется. Однако AFAIK команда Mozilla не сделала этого.

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

Но HTTPS не только защищает конфиденциальность веб-страниц, он защищает целостность, предоставляя гарантии, что никто не изменил данные в пути. Поэтому, если вам нужны гарантии того, что ВСЕ веб-страницы, которые вы просматриваете, не вмешивались, вам нужна эта более сильная гарантия, и вам не следует отключать предупреждение о смешанном контенте, по крайней мере для ваших конфиденциальных страниц.

1
1.05.2013 20:58:53
Хотя это объяснение может быть полезным, оно не является ответом на вопрос и поэтому не по теме. Это также написано в несколько самоуверенном стиле, что также делает его плохо подходящим для сайта вопросов и ответов; это вероятно сделало бы хорошую статью блога.
Pondlife 1.05.2013 21:20:44