Полная версия этой страницы:
Безопасность Ajax
Всем день добрый!
У меня тут вопрос появился, звучит примерно так: В связи с тем, что страничка с использованием XMLHttprequest это практически открытый код, то есть не составляет большого труда понять, какой запрос в каком случае отправляется на сервер, то насколько безопасно его использование? И возможно ли как то спрятать яваскрипткод от чужих глаз?
ок, уверен, что спрятать нельзя, но можно ли как то кинуть запрос на сервер с чужого браузера с нужным запросом, а то как то не очень хочется с Perl начинать возьню(((
Всем заранее спасибо
Andrew Stephanoff
1:02:2007, 17:55
надо ограничить набор методов, выполняемых на сервере, ну и стандартная безопасность для внешних данных
Для: Andrew Stephanoff
Спасибо, и тогда сразу ещё вопросы:
... а где почитать про стандартную безопасность?
Не знаю, как ограничить, я имел в виду, что содержимое форм, или запросы приходят на сервер, который либо заносит их в БД, либо считывает чего-нибудь из базы данных и соответственно отвечает. Так вот в коде достаточно легко проследить как и чего запросить/дать приказ на запись в ДБ. Хотя может стоит все переменные после отладки переименовать в какие-нибудь х1,у2 и тд... Но ведь это тоже не очень надёжно(((... Или я чего то не догоняю?
Даже если Вы Js "закодируете" (хотя это не возможно), get и post запросы на сервер все-равно можно смотреть. Всю безопасность нужно реализовывать на сервере.
Andrew Stephanoff
4:02:2007, 18:50
все внешние параметры, используемые в sql, должны экранироваться,
не использовать внешних параметров для включаемых файлов
определить стандартный набор методов и проверять запрошенный метод на наличие в составе разрешенных
Для:
Andrew StephanoffСпасибо, примерно понял, кстати, если я ещё session прикроюсь, это поможет? Вообще, если страничка защищена сессией, типа :
if (session.getAttribute("nikname")==null)
response.sendRedirect(response.encodeRedirectURL("/login.jsp"));
то это как? (ну или проверка в БД на присутствие там session.getAttribute("nikname").toString ) Ну и соответственно, сервер тоже постоянно, при каждом xmlhtttp-запросе опрашивает сессию. Такие вещи тоже ломают?
Вообще кто нить знает, где почитать как ломают? Сдаётся мне пока механику взлома не посмотришь, защиту не поставишь
Для: Emelya
Я, думаю, Вам нужно посмотреть ссылки, например, в Яндекс по запросу "sql инъекции". Тогда может понятнее будет.
Для:
safoЗдоров, спасибо, почитал
sir Aurum
26:07:2007, 12:19
SQL injections - это проблема не только AJAX, а веб программирования в целом. Для AJAX нет ничего такого особенного, что отличало бы XMLHTTP запрос от обычного HTTP запроса и методы защиты тут одинаковы.
Единственное отличие: мы на стороне сервера можем определить, ай ли запрос сформировал наш браузер через XMLHTTPRequest, или это злоумышленник вбил ручками в браузере адрес запроса. При запросе с помощью технологии AJAX устанавливается HTTP-заголовок HTTP_X_REQUESTED_WITH со значением “XmlHTTPRequest”. Таким образом, на стороне сервера, в РНР, например, можно узнать, вызвана ли страница с помощью AJAX.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.