SORU
24 EYLÜL 2008, ÇARŞAMBA


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
24 EYLÜL 2008, ÇARŞAMBA


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caroline Saquet

    Caroline Saq

    1 EKİM 2011
  • eurotuner

    eurotuner

    6 Mart 2006
  • Goran Dimov

    Goran Dimov

    1 HAZİRAN 2014