blob: f1fe52342fb90a0337fa541d318f81776387b1c8 [file] [log] [blame]
<html>
<body>
<p>Test that setRequestHeader properly checks for invalid characters in header values.</p>
<script>
if (window.testRunner)
testRunner.dumpAsText();
function test(val) {
var req = new XMLHttpRequest;
req.open("GET", "resources/print-headers.cgi", false);
try {
req.setRequestHeader("Test", val);
} catch (ex) {
document.write("<p>" + escape(val) + " -> SUCCESS, setRequestHeader() raised an exception " + ex + "</p>");
return;
}
try {
req.send("");
if (req.responseText.match("HTTP_EVIL"))
document.write("<p>" + escape(val) + " -> FAILURE - evil header injected!</p>");
else
document.write("<p>" + escape(val) + " -> setRequestHeader() didn't throw, but server didn't see the evil header.</p>");
} catch (ex) {
alert("Unexpected exception: " + ex);
}
}
test("\nE\nvil: on");
test("\rE\rvil: on");
test("\r\nEvil\r\n: on");
test("\n\rEvil\r\n: on");
test("\r\nEvil: o\0n\n\r");
</script>
</body>
</html>