ОБСУЖДЕНИЕ

Что такое дыра? И как ее закрыть?

6 сообщений1 просмотровОткрыта
#1
Что такое дыра?
И как ее закрыть?
Как нужно кодить на php что бы не было дыр в скрипте?
#2
AgentM, И ты реально думаешь что это можно одним постом описать...жаль. А так считай любого юзера взломщиком и проверяй всё что от них пришло
Дыра: $var = $_GET['var'];
Нет дыры: $var = mysql_real_escape_string($_GET['var']);
#3
Во первых: дыры - сленговое название уязвимостей. Во вторых, они очень разнообразны, и в WEB-приложениях,они могут быть не прямыми (sql inj, xss)так и косвенными, то есть сам код не уязвим, но он скажем не совершенен (сайт не использует токены, нет SSL), получаем уязвимости типа csrf, clickJecking, mitm.

xss - внедрение потенциального опасного html / js кода, с целью хищения cookie файлов или других действий подобного типа

sql inj - внедрение опасного sql кода с целью получения данных либо выведение сайта из строя

csrf - подмена форм
mitm - кража / модификация трафика
clikcjecking - выполнение действий от лица другого человека, похоже на csrf но им не является

Как защищаться:

от XSS - экранированием, преобразованием HTML сущностей в безопасный вид
Функцией htmlspecialchars

от sql inj - хорошей типизацией , либо функциями mysql(i)_real_escape_string либо использовать PDO

от csrf - использовать токены
от mitm - иметь хороший ssl

И на последок внимательно выставляй cmod(права доступа), аккуратно также с eval(функция исполняет код внутри себя), аккуратнее при подключении файлов, скажем если файл подключаешь, основываясь на куки файлах
#4
Может кто-то лучше объяснить, что такое дыра и как ее закрыть и как их не допускать в коде?
#5
AgentM, Тебе человек в посте выше все расписал
Если же тебе нужно в двух словах, то фильтрации данные.
Что к чему, читай сам и вникайте. Учись понимать код, а не действовать по тому, что дали.
link
#6
AgentM, Что не понятно то?