Ayrıca, insanların (kaynağınız değil) sayfanızın içine HTML veya JavaScript enjekte sağlayan içkin hiçbir güvenlik riski kendisi taşıdığı söz önemlidir. Orada zaten web sayfalarında DOM ve komut dosyalarını değiştirmek için izin tarayıcı uzantıları var, ancak yalnızca istemci tarafı bu yana, onlar bilecek sadece bizleriz.
XSS olur Nerede insanlar onlara izinleri vermek için bir ACL a) istemci tarafı doğrulama veya giriş filtreleme atlamak için kullanabilirsiniz ya da insanlar girdi alanlarını işlemek için kullandığınız zaman b) (örneğin, SEÇENEK etiketleri değerlerini değiştirirken bir sorun olduğunu onlar ) olmamalıdır. Bu saldırılara karşı önlemek için SADECE şekilde dezenfekte ve sunucu tarafında girişi doğrulamak yerine, ya da, istemci tarafı doğrulama ek etmektir.
Eğer HTMLPurifier gibi bir kütüphane kullanabilirsiniz bu durumda belirli etiketleri, izin İSTİYORUM sürece girdi üzerinden HTML koruması için, htmlspecialchars'ın mükemmel yeterli. Eğer HREF, OnClick veya komut dosyalarına izin veren herhangi bir öznitelik kullanıcı girişi yerleştirerek ediyorsanız, sadece sorun için soruyorsun.
EDIT: Eğer niteliklerini alıntı değil gibi koduna baktığımızda, o görünüyor! Bu oldukça saçma. : Birisi olarak adını koyarsak
john onclick="alert('hacking your megabits!1')"
: Sonra komut olarak ayrıştırma
<input type=text name=username value=john onclick="alert('hacking your megabits!1')">
DAİMA nitelikleri tırnak kullanın. Onlar kullanıcı girilen olmasa bile, içine almak için iyi bir alışkanlık.
<input type="text" name="username" value="<?php echo htmlspecialchars($_POST['username']); ?>">