Başkalarının da söylediği gibi, bu, bir HTTP yanıtı istekte bulunan bir JavaScript ve / veya HTML dizesi içerdiğinde gerçekleşir. Bu genellikle bir form alanına JS veya HTML girilmesinden kaynaklanır, ancak URL'nin parametrelerini manuel olarak ayarlamak gibi başka yollarla da tetiklenebilir.
Bununla ilgili sorun, kötü niyetli birinin istediği JS'yi değer olarak koyması, kötü niyetli JS değeri ile bu URL'ye bağlanması ve kullanıcılarınıza sorun çıkarmasıdır.
Hemen hemen her durumda, bu , istisnalar olsa da yanıtı HTML kodlayarak düzeltilebilir . Örneğin bu, bir <script>
etiketin içindeki içerik için güvenli olmayacaktır . Diğer özel durumlar farklı şekilde ele alınabilir - örneğin, bir URL'ye girdi enjekte etmek, URL kodlamasıyla daha iyi sunulur.
Kendall Hopkins'in bahsettiği gibi, JSFiddle gibi bir uygulama oluşturmak gibi, JavaScript'in form girdilerinden yürütülmesini istediğiniz birkaç durum olabilir . Bu durumlarda, körü körüne geri yazmadan önce en azından arka uç kodunuzdaki girişi gözden geçirmenizi tavsiye ederim. Bundan sonra, XSS tıkanmasını önlemek için bahsettiği yöntemi kullanabilirsiniz (en azından Chrome'da), ancak bunun sizi saldırganlara açtığını unutmayın.