Ne'In PHP?ile kullanıcı girişi sterilize etmek için en iyi yöntem
Hala html etiketlerini belirli türde izin verirken sql enjeksiyon ve XSS saldırıları için kullanıcı girişi sterilize etmek için çalışan herkesi kucaklayan bir işlevi var mı?
CEVAP
Kullanıcı giriş filtre edilebilir yaygın bir yanılgıdır. PHP bile var (şimdi kaldırılmış) "özelliği" sihirli tırnak denilen bu fikir üzerine inşa edilmiştir. Saçmalık. Filtreleme (Ya da adını ne temizlik, ya da unut.
Yabancı kod içinde bir dize gömdüğünüz Zaman, dil kurallarına göre kaçmak gerekir. yapmanız gereken, sorunları önlemek için oldukça basit: Eğer bazı SQL MySql hedefleyen bir dize gömerseniz, örneğin, bu amaç için MySql fonksiyonu (mysqli_real_escape_string
) ile dize kaçmak gerekir.
Eğer HTML biçimlendirme dizeleri gömerseniz, htmlspecialchars
ile kaçmak gerekir. başka bir örnek HTML: Bu echo
print
Her bir beyanı htmlspecialchars
kullanmak gerektiği anlamına gelir.
Üçüncü bir örnek olabilir kabuk komutları: Eğer gitmek embed dizeleri (bağımsız değişken) dış komutlar, arama ve onlarla exec
o escapeshellcmd
escapeshellarg
.
Ve benzeri ve benzeri ...
sadeceaktif bir şekilde verileri süzmek için gereken durumda, Eğer önceden biçimlendirilmiş giriş kabul ediyorsanız. Örn. eğer kullanıcılarınızın HTML biçimlendirme sonrası izin verirseniz, bu site üzerinde görüntülemek için plan. Ancak, her ne pahasına olursa bunu önlemek, bu yana hiç bu filtre ne kadar akıllı olmalısın, her zaman olası bir güvenlik delik olacaktır.
Bahar Güvenlik kullanırken, fasulye ge...
Nasıl sadece WPF sayısal girişi kabul ...
En iyi yöntem farklı bir kullanıcı ola...
Eğer kullanıcı giriş olup olmadığını k...
Nasıl bir nesne olup olmadığını kontro...