Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Как себя защитить если register globals=on (https://forum.antichat.xyz/showthread.php?t=95706)

Zircool 10.12.2008 10:33

Как себя защитить если register globals=on
 
Здравствуйте. Столкнулся с такой проблемой как уязвимость в register globals, можно менять значения некоторых переменных, в результате пострадали некоторые из моих скриптов((. Можно ли с использованием register globals=on добавить дополнительное условие проверки переменных или как себя можно обезопасить. Полезной будет любая информация по теме. Заранее благодарен.

MuXaJIbI4 10.12.2008 11:09

Просто отключить регистр гллобалс ;) Но можно просто в начале скриптов объявлять все переменные которые используются в скрипте.

Sharky 10.12.2008 12:07

register globals=off

Pashkela 10.12.2008 12:14

.htaccess

<IfModule php5_module>
php_value session.gc_maxlifetime 7200
php_value max_execution_time 3600
php_value max_input_time 3600

php_flag register_globals off
php_flag magic_quotes_gpc off
</IfModule>

ruzzer 10.12.2008 21:04

Все доступные значения переменных можно записать в массив, и сравнивать их с этим массивом.
Код:

<?php
                                if (!isset($page))
                                        {
                                                include "news.php";
                                        }
                                        else
                                        {
                                        $pages = array('main', 'articles', 'articles2', 'news', 'href', 'guest', 'download');
                                       
                                                if(in_array($page, $pages))
                                                {
                                                        include($page.".php");
                                                }
                                                else
                                                {
                                                        echo "Нет такой страницы! ";
                                                }
                                        }
                        ?>



Время: 07:42