Güvenlik sorunları (PHP) diziler temizlik alıyorsunuz?

4 Cevap php

$_POST= array(); sizin $ _POST superglobali sıfırlama etkili bir yol değildir neden birisi açıklayabilir misiniz?

Ben okurken bu düşünce this question.

Bir dizi olan, ben, o dizinin tüm unsurları hayal ediyorum onu ​​$ _POST veya başka olmak, yeniden başlatırken sıfırlamak olacaktır.

4 Cevap

Haklısınız, $_POST= array(); tamamen sıfırlıyor $_POST!

Diğer sonrası cevaplar "
"how to sanitizing/clean the value(s) of $_POST ile ilgilidir.

Bu hat $_POST=array(); tamamen $_POST dizi sıfırlamak gelmez.

Ben başvurulan soru sizin tarafta bir yanlış anlaşılma var sanırım. Bu script hedefi $_POST boşaltmak için ancak değerleri sterilize değildir.

(Onlar kullanıcı girişi çünkü) tscully DB işlemleri yaparken "güvenle" daha fazla kullanmak mümkün $_POST değerleri sterilize etmek için çalışır.

O (SQL deyimi kullanmak için bir dize Escapes özel karakterleri) mysql_real_escape_string kullanır yüzden.

tam olarak soru nedir?

($ _POST) unset etkili bir şekilde herhangi bir değerleri silme superglobali sıfırlıyor.

cross-site scripting geniş bir konu kendi üzerinde filtre yapmak mümkün olmayacaktır olmasıdır.

check this XSS cheat sheet here: http://ha.ckers.org/xss.html

+more info on developing anti-XSS measures here: http://hungred.com/web-development/solutions-crosssite-scripting-xss-attack/

Bildiğim kadarıyla, o bunu yapardı. Bu, yalnızca POST bilgileri değil, GET temizler unutulmamalıdır. Neden sormak gerekir soru?