о дырках
Александр Петросян (PAF) 25.10.2002 10:01
если вы положите
/access.html
через который будет идти обращение к secret.html, по адресу /access.html?file=/info.html
то да, будет дыряво.
поскольку добрые люди передадут вам file=/../../etc/passwd%00.html
и будет сильно плохо.
если вы начнёте сами проверять такие ситуации, вы можете ошибиться и все-таки отдать системный файл.
собственно, поэтому все настойчиво вам предлагают не пользоваться доморощенной защитой, а пользоваться проверенной встроенной.
если же всё же настаиваете на самопальной, начинается обычная борьба пушки с бронёй.
вариант: хранить все секретные файлы на диске под именами
/secret/_info.html
/webspace/access.html
и по обращению к /access.html?file=/info.html читать файл /../secret/_info.html
тогда что бы вам не передали, вы потом добавите подчерк к имени, и не считаете системный файл.
но, как вы понимаете, тут можно ошибиться, а то и придумать, как и это обойти.
даю ключевое слово: mod_mysql_auth. и отключаюсь от этого обсуждения, терпение не бесконечно.