shurikz
Guest
Версия для печати и безопасность
Привет всем! Вот полазил по форуму и озаботился проблемой
безопасности (вряд ли конечно мой сайт кому-то нужен, но все-таки).
Есть странца http://www.mysite.ru/path/page.php. На ней ссылка на версию для печати
такого вида:
<a href="../print/print.php?id=<? print $PHP_SELF; ?>">Версия для печати</a>
Т.е. адрес у страницы версии для печати получается примерно такой:
http://www.mysite.ru/print/print.php?id=/path/page.php
что, как я понял, не очень хорошо с точки зрения безопасности (наверное).
Файл print.php примерно такого содержания:
<?
?>
<html>
<body>
...
<?
?>
...
</body>
</html>
Подскажите пожалуйста, этой проверки file_exists достаточно,
или нужно что-то еще проверять?
Или может вообще все делать как-то по-другому? Как люди вообще по-нормальному делают?
Привет всем! Вот полазил по форуму и озаботился проблемой
безопасности (вряд ли конечно мой сайт кому-то нужен, но все-таки).
Есть странца http://www.mysite.ru/path/page.php. На ней ссылка на версию для печати
такого вида:
<a href="../print/print.php?id=<? print $PHP_SELF; ?>">Версия для печати</a>
Т.е. адрес у страницы версии для печати получается примерно такой:
http://www.mysite.ru/print/print.php?id=/path/page.php
что, как я понял, не очень хорошо с точки зрения безопасности (наверное).
Файл print.php примерно такого содержания:
<?
PHP:
if (!file_exists("..".$id)){
header("Location: http: //www.mysite.ru/404.php");
exit;
}
else {
... основной скрипт ...
}
<html>
<body>
...
<?
PHP:
include ("/home/.../mysitedir$id");
...
</body>
</html>
Подскажите пожалуйста, этой проверки file_exists достаточно,
или нужно что-то еще проверять?
Или может вообще все делать как-то по-другому? Как люди вообще по-нормальному делают?