0
爲什麼輸入文本在輸入字符串有<
後跟一些沒有空格的文本時被截斷,例如: <abc
。但是,如果在<
之後有空格,它就可以正常工作。 < abc
爲什麼輸入文本如果包含<符號後跟一些文本,則會被截斷
HTML
<form name="testform" method="post">
<input type="text" name="title" />
<input type="submit" value="Submit"/>
</form>
如果您提供的輸入值This is a sample <string
並提交。通過POST收到的價值是This is a sample
。但是,當您提交This is a sample < string
(請注意<之後的空格),那麼它會被正確接收。
服務器端(PHP)
<?php
if(isset($_POST['title'])) {
echo '<pre>';
print_r($_POST); // outputs "This is a sample " instead of "This is a sample <string"
}
?>
什麼是這個原因?
它不會。問題在於你沒有與我們共享的服務器端代碼將它作爲HTML輸出,'<'在HTML中有特殊含義。 – Quentin
http://stackoverflow.com/questions/1996122/how-to-prevent-xss-with-html-php可能是一個重複的問題,但這個問題沒有涉及到指定涉及的服務器端語言。 – Quentin
是的,[此問題]的副本(http://stackoverflow.com/questions/1996122/how-to-prevent-xss-with-html-php)。 '
Quentin