$ _SESSION Değişkenleri PHP yapılandırmanız tarafından kontrol ediliyor?

3 Cevap php

Ben genel olarak $ _SESSION değişkenleri ayarlayarak insanlar görmek

$_SESSION['example']=$_REQUEST['something'];
$example=$_SESSION['example'];

Bu gereksiz mi?

Şu anda yeni bir sunucu üzerinde çalışıyorum ve

$_SESSION['example']=$_REQUEST['something'];

herhangi bir ekstra kod olmadan bana $ Örneğin erişim sağlar

Bu normal ya da hayatımı yapma php yapılandırma kolay ancak potansiyel olarak daha tehlikeli?

3 Cevap

Bir php.ini yönergesi register_globals çalıştığınız sunucu için üzerinde dediği gibi bu sesler. Bu kötü uygulama olarak kabul edilir, ve hatta kalktı ve php son sürümlerinde kaldırılır. Daha fazla ayrıntı için php belgelerin bu bölümünü kontrol.

http://www.php.net/manual/en/security.globals.php

Edit - as it pertains to your comment.

Eğer kullanıcılar tarafından sağlanan girdi asla güvenme, ve cross site scripting, enjeksiyon saldırıları, ya da oturumu, kurabiye veya veritabanı girmesini sadece bok veriler için kullanılan olabilir karakterleri kaldırarak ya da nötralize ederek sterilize edilmelidir.

hıza kadar almak için aşağıdaki kontrol.

http://www.codeassembly.com/How-to-sanitize-your-php-input/

http://www.phpbuilder.com/columns/sanitize_inc_php.txt

http://www.devshed.com/c/a/PHP/Sanitizing-Strings-with-Filters-in-PHP-5/

Ilk kodu ve ikinci kodda hiçbir fark yoktur. Yerel bir değişkene global değişkenler koyarak, onları güvenli kılan bir şarta gibi görünüyor. Ama öyle değil.

Kullanıcı uzaydan gelen bir şey tedavi gerekir. Enfekte olduğu gibi (POST, İSTEK, COOKIE GET).

"register_globals" "açık" olarak ayarlandığında sadece tavsiye edilmez ki, olur!