2016-08-04 13 views
0

Ist das in Ordnung? Ich versuche zu überprüfen, ob dies ausreicht, um zu verhindern, dass fehlerhafte Informationen (Sonderzeichen) durch die Texteingabe geleitet werden.Was ist eine gute Methode, um zu verhindern, dass Daten durch Cookies verschleiert werden?

function setCookie() 
{ 
var x = "sessionID=fmpinho"; 
document.cookie = x+"; secure"; 
} 

function stopRKey(evt) 
{ 
    var evt = (evt) ? evt : ((event) ? event : null); 
    var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null); 
    if ((evt.keyCode == 13) && (node.type=="text")) {return false;} 
} 

function changeTxt(inputVar) 
{ 
    var inputVar = document.getElementById("uEntry").value; 
    inputVar = inputVar.replace(/\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-/g,""); 
    document.write("<h1>Hello " + inputVar + "!</h1><p id=\"enjoyPara2\">Please enjoy the Web site!</p>"); 
} 
+0

Sie meinen wie Schutz vor einem böswilligen Angreifer, der versucht, javaScript zu Ihrem Cookie hinzuzufügen? –

+0

Was versuchst du hier zu schützen? Was verhindert, dass ein Angreifer sein eigenes Cookie mit seinem eigenen Browser bearbeiten kann? Das Ersetzen von "Sonderzeichen" in JavaScript reicht nicht aus, um XSS zu verhindern, da jeder Angreifer das JavaScript umgehen wird - allerdings bin ich mir nicht sicher, was genau Sie hier tun, kann also nicht weiter kommentieren. – SilverlightFox

Antwort

0

Mit einer guten Portion Beklommenheit, würde ich sagen, dass das ein ziemlich wirksam Javascript XSS-Filter ist, so lange dies der nur Ort, wo man den Wert von inputVar verwenden. Es scheint keine Umgehungen zu geben easily accessible, obwohl das nicht bedeutet, dass keine existieren.