javascript dize php eş değiştirme?

2 Cevap php

I am trying to prevent xss injection. So before I submit a form, a javascript function is called

function validatefield(id) {
    var description = document.getElementById(id).value;   
    description = description.replace(/[\"\'][\s]*javascript:(.*)[\"\']/gi, "");
    description = description.replace(/script(.*)/gi, "");    
    description = description.replace(/eval\((.*)\)/gi, "");
    document.getElementById(id).value=description;
} 

Mysql takmadan önce php aynı yapmanın bir yolu varsa ben wonderng ediyorum? onlar validatefield işlevinin etrafında olsun.

Teşekkürler

2 Cevap

Genel anlamda, preg_replace PHP regex değiştirmeleri için kullanabilirsiniz. Ama tasarımı ile birkaç sorun var

  1. Hatta istemci üzerinde yapıyor rahatsız olmamalıdır. Bu güvenlik sağlayarak olmadan şeyler yavaşlatacaktır.
  2. (Ayrıca bkz XSS Cheat Sheet) onclick nitelikleri gibi birçok gerçek tehlikeleri görmezden ederken, ("Ben böyle gibi yapmak için bir senaryo yazdı" gibi) mükemmel güvenli şeyler kaldırma ediyoruz.

HTML çeşit izin vermek istiyorsanız Genellikle konuşma, bir beyaz liste daha iyi bir yaklaşımdır. HTML Purifier PHP bu uygulama için popüler bir araçtır.