проверка подлинности данных формыСуществует способ причинения вреда сайту, при котором определенная форма сохраняется на жесткий диск злоумышленника, изменяется параметр action и обращение к серверу происходит непосредственно с удаленного компьютера. Это делается с целью обхода проверки передаваемых данных средствами JavaScript, автоматизации подбора пароля, флуда и т.д. Защититься от этого можно с помощью переменной окружения HTTP_REFERER. В ней содержится адрес страницы, с которой был осуществлен переход. Например, если имя вашего домена www.some.com, то оно обязательно будет присутствовать в HTTP_REFERER при переходах внутри сайта. То есть в сценарии можно сделать следующую защиту:
if(!eregi("some\.com", $_SERVER['HTTP_REFERER'])) die("Несанкционированное обращение!");
проблемы:
Комментарии:ыы 27.09.08 04:28 А если адрес будет таким: http://example.com/some.com/Моя_злая_форма.html some.com присутствует Это перебор с упрощением? Alek Veritov 27.09.08 21:05 как и написано в статье данный способ не является очень серьезной защитой от CSS, но как средство "от дурака" вполне сгодится. что мешает вам проверять, например, ip адрес, а не имя домена? Londeren 08.11.08 17:16 Alek Veritov ты ваще не шаришь, чувак... CSS ??? наверно имелось ввиду XSS далее - eregi не канает, юзай preg причем тут ip и имя домена?? клиент не отдает серверу ip реферера ну и т.д. в общем лучше не пиши про то, чего не знаешь Alek Veritov 10.11.08 10:04 Londeren, рад, что ты "шаришь". XSS - это стилизованная аббревиатура Cross Site Scripting, так что можно (и даже правильнее) CSS! А стилизовали до XSS ее для того, чтобы "шарилы" понимали о чем речь и не путали с Cascading Style Sheets. Не веришь, спроси у гугла. А почему "eregi не канает"? А где, интересно, на данной странице я утверждаю, что "клиент отдает серверу ip реферера"? Я сказал, что можно проверять ip, но не говорил, что с помощью HTTP_REFERER... anonymous 28.11.08 11:01 почему некоторые идиоты... все время хотят испортить хорошие сайты своими идиотскими коментариями... ну не нравиться и флаг тебе в руки... катись да... колобок... Alex 31.01.09 21:13 лучше всего, проверять ip юзера при попытке выполнения входа и вставлять его в таблицу (ip, time),и если он часто пытается войти, выкидывать его в "сторону" MaZaFaKa 21.05.09 04:07 if(substr($_SERVER['HTTP_REFERER'], 0 , 18) != "http://www.site.ru" && substr($_SERVER['HTTP_REFERER'], 0 , 14) != "http://site.ru") die("Умри!"); тут можно подделать? Владимир 23.07.10 14:06 Лучше всего использовать сессии. vasily 17.09.10 17:41 spasibo! Сергей 21.06.11 05:43 Проще доверять проверку заполнения формы не джаваскрипту на стороне клиента, а пхп на сервере deMerk 03.08.11 22:54 Проверку лучше дублировать на PHP. По поводу загрузки с левых страниц, можно сделать так: hex 13.12.11 17:24 что за тупизм данные сессии палить в скрытом поле формы?: hex 13.12.11 17:55 и еще, к администрации сайта, раз уж вы зарабатываете на рекламе от гугла, то неприлично не делать ссылку на закачку googlechrome Александр 07.04.12 16:08 Уважаемы забудьте раз и навсегда, о том что если в форме есть скрытое поле/поля то "дурак" не сможет чего-то там отправить... Если вам помогла или просто понравилась эта статья вы можете отблагодарить автора кликнув по рекламе. Спасибо! комментировать:
прежде чем писать комментарий убедитесь, пожалуйста, что он не попадает в нижеследующие категории:
прямые оскорбления кого бы то ни было будут удалятся! от кого: |


