Szukaj


drukuj pdf
Jak zmienić parametry na php

Przykład

Edytuj skrypt testphp.php

[root@nsXXXX root]# cd /home/ovh/www
[root@nsXXXX root]# pico testphp.php


i wstaw do niego nasŧępującą treść:

<?

if (!$zawartosc)
{
$zawartosc="Nic";
}

echo "przekazany parametr zawiera=<b>$zawartosc</b>";
echo "<i>Jeżeli Nic, opcja register_globals jest Off</i>";


?>


Przetestuj ten skrypt wykonując go w url:

http://nsXXXX.ovh.net/testphp.php?zawartosc=todziała


Powinieneś otrzymać:

Przekazany parametr zawiera treść=Nic
Jeżeli Nic to opcja register_globals jest na Off


Rozwiązanie

Należy aktywować opcję w pliku php.ini. Zlokalizuj ten plik i zmodyfikuj tak, aby zastosować opcję register_globals na On.

Uwaga: Operacja może być wykonana przez SSH: SshNaSerwerzeDedykowanym

[root@nsXXXX root]# locate php.ini
[...]
/usr/local/lib/php.ini
[root@nsXXXX root]# cat /usr/local/lib/php.ini | grep -i register_globals
; register_globals to be on; Using form variables as globals can easily lead
register_globals = Off
[root@nsXXXX root]# pico /usr/local/lib/php.ini
[root@nsXXXX root]# cat /usr/local/lib/php.ini | grep -i register_globals
; register_globals to be on; Using form variables as globals can easily lead
register_globals = On


Następnie:

  • Jeżeli PHP jest w module, konieczne będzie ponowne uruchomienie apache'a w celu uzwględnienia zmiany:

[root@nsXXXX root]# /etc/init.d/httpd restart


  • Jeżeli PHP jest w cgi nie ma takiej potrzeby. Możesz przetestować ten skrypt:

http://nsXXXX.ovh.net/testphp.php?contenu=camarche

Powinieneś otrzymać:

Parametr zawiera treść=todziała
Jeżeli Nic to opcja register_globals jest na Off


Bezpieczne rozwiązanie w celu ustawienia register_globals na On:

foreach( $_REQUEST as $a => $b)
{
$$a = $b;
}