![]() |
По поводу хакерства РНР сайтов
Я тут что то много наслышан о такой вот проблемме(хакерства), то что сайт написанный с использованием РНР технологии, легко ломается данной прослойкой населения нашей планеты Вот и решил написать этой пост, который бы был целиком и полностью был бы посвящен этой теме.
ЗЫ Очень бы хотелось услышать, как усложнить работу хакерам, что надо использовать, что не надо и т.д. Кстате, на сколько лучше выносить РНР файл(чисто РНР), и интегрировать его в индех.РНР, т.е. что бы было 2 разных файла??? С уважением, не сочтите за оффтоп. |
если руки не кривые, если руки не кривые у хостерского админа - то все это нереально.
|
Если программер - отчасти параноик ... думаю таких большинство в веб-сфере (к таким и я отношусь:rolleyes: ) то можно сказать, что защита скриптов будет на достаточно хорошем уровне ... :biggrin:
А вообще для таких делов есть специальная литература ... |
Лазейку всегда можно найти... Если защитить грамотно (почитать литературу по этому вопросу), то малолетки, начитавшиеся Баг-Траков, тебе будут не страшны. А серьезный хакер едва ли возьмется за дефейс первого встречного сайта, если ему не сделают заказ. Для этого нужно кому-то сильно насолить. ;)
|
Цитата:
Цитата:
|
hempsmoke
Это уже в раздел "Электронные книги" *сказал Repressor, не зная как отмазываться* :biggrin: :biggrin: :biggrin: |
Цитата:
Написано не занудно и очень понятно.:) |
dlya nachala chitaem vot eto: http://www.php.net/manual/en/security.index.php
|
Repressor
:) FantomIL пасиб. буду изучать. InsaneX я просто не люблю читать много и долго на иностранном с компа. :) Добавлено через 14 минут: FantomIL клевый ресурс! спасибо! 5! :yees: |
Рад стараться :)
Вот держи еще один http://www.infosec.ru/press/pub_main.html Этот чуть понуднее, но тоже ничего |
что-то я немного не догоняю.. точнее совсем не догоняю:
зачем делать проверку переменных $_POST['act'] ... она не работает... if ($_POST['act']=="delete") unlink("file.txt"); по идее должно работать только если переменная послана методом post из формы. Но набирая в адресной строке index.php?act=delete удаляет файл начисто... просветите пожалуйста. меня это очень волнует.! Спасибо. |
а вот я бы посоветовал взять что-нибудь от wrox серии professional(там даже примеры кода написаны весьма проффесионально). ну а самые распрастраненные ошибки вы можете найти в многочисленных статьях, на соответствующих сайтах.
2hempsmoke а register_globals=0ff ? и какая версия php. если в php.ini register_globals=off Код:
if (isset($HTTP_POST_VARS['act']) && $HTTP_POST_VARS['act']) == "delete") |
$_POST['act'] & $HTTP_POST_VARS['act'] разве не одно и тоже?
|
Sheryld
rgister_globals = off но причем здесь это? эта директива не объявляет переменные как глобальные, их к ним надо обращаться через массивы _POST _GET _SerVER и т.д. важна суть. Т.е. я так понимаю, что если нет аутентификации, то пользователь, знающий, что по такому -то адресу произойдет удаление, но доступа к форме с кнопкой delete у него нет, он легко может снесьти все к черту через адресную строку... VIRT Одно и тоже. $HTTP_POST_VARS['act'] - более древний подход. |
это смотря в какой версии(я про длинные и короткие имена массивов).
register-globals=off нельзя обращаться к переменным как к глобальным. пример: myindex.php?param=1 Код:
echo $param1 //ничегоКод:
echo $param1 //1про get если знать имена переменных которые идут через get(а это раз плюнуть) и скрипт написан так, что никто не проверяет пользователя, а просто делает свое дело, то естественно любой может через адресную строку сделать все-что угодно. про post метод можно проверять так: $HTTP_SERVER_VARS['REQUEST_METHOD'] == 'POST' - но это при условии, что у вас apache, хотя все нормальные серверы по идее должны поддерживать эту переменную. если все удаляется через POST метод, то GET здесь не прокатит в любом случае. если только у вас где-то ошибка. но аутентификацию нужно сделать обязательно. больше того, обязательно нужно проверять ещё и откуда к вам пришли, т.е. IP и REFERRER. но и этому не стоит доверять(хотя ипользовать нужно). лучше сделать классический mixed mode или аутентификацию на базе средств ОС. mixed mode заключается в том, что после успешной проверки логина и пароля(например через базу), вам выдается и записывается(в базу) уникальный ID. а когда вы "ходите" по страницам, он каждый раз проверяется(например как скрытое поле в форме). т.е. значения и на странице и в базе должны совпадать. а когда вы делаете "выход" значение в базе аннулируется. |
Цитата:
Цитата:
аутентификация есть. |
анонимные прокси тоже имеют ip, и вот с них то запускать когото оч даже нежелательно ....
а еще есть такая штука как бан, где тоже адрес роль играет ... и кстати реферер не обязательно будет показан. как гласит дока к пхп, ета штука сильно зависит от браузера ... |
я же написал что проверять надо, а доверять не стоит. по ip проверка уместа тогда, когда админ/менеджер имеет например статический ip, а это не редкость сегодня.
|
Цитата:
|
| Часовой пояс GMT +4, время: 10:31. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.