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

  • Absolute Zero(Programming Tutorials)

    Absolute Zer

    22 Kasım 2012
  • Kat Krazy

    Kat Krazy

    12 Kasım 2010
  • MagicofRahat

    MagicofRahat

    13 Temmuz 2007