HTML / PHP ile XSS önlemek için nasıl?

4 Cevap php

Nasıl sadece HTML ve PHP kullanarak XSS (cross-site scripting) engellerim?

Ben bu konuyla ilgili çok sayıda diğer mesajları gördüm ama açık ve özlü aslında XSS önlemek için nasıl bildiren bir yazı bulamadım.

4 Cevap

Basically you need to use the function htmlspecialchars() Eğer kullanıcı girişi gelen tarayıcıya çıktı bir şey istediğiniz zaman.

Bu işlevi kullanmak için doğru yolu, bu gibi bir şeydir:

echo htmlspecialchars($string, ENT_QUOTES, 'UTF-8');

Google Code University da some very educational videos on Web Security vardır.

En önemli adımlardan biri, işlenmiş ve / veya tarayıcıya geri oluşturulmadan önce herhangi bir kullanıcı girdileri etmektir. PHP kullanılabilecek bazı "filter" işlevleri vardır.

XSS saldırıları genellikle sahip formu kullanıcı için kötü niyetli içeren bazı off-site javascript bir bağlantı eklemek için. Bu konuda daha fazla okuyun here.

Siz de sitenizi test etmek isteyeceksiniz - I-eklemek XSS Me Firefox tavsiye ederim.

XSS saldırı vektörleri çok sayıda varken, birkaç kurallar aşağıdaki çoğunluğu karşı savunmak çünkü benim favori OWASP referanslardan biri Cross-Site Scripting açıklama Onları büyük!

Bu PHP Security Cheat Sheet

AddedBytes.com üzerinde Yazma Güvenli Series bir göz atın

http://www.addedbytes.com/writing-secure-php/

bu sql enjeksiyon ya da böyle bir şey karşı korumak değil, çünkü sadece htmlspecialchars'dan daha güvenli php kod yazmak için yapmanız gereken çok daha fazla şey vardır.