原生php,在照着网上做一些安全防范的例子。(有点旧了2012的)
有个js脚本注入的,我在数据数据库里输入无限alert的一个脚本,发现,查询结果无法显示出来,空白的,其他html标签能够正确显示的,比如,h1标签。
然后试了下,只要有
<script
几个字就无法显示,是php自带的过滤吗?还是说是浏览器的过滤= =
顺求哪里可以系统的学习下php安全防范的比较新的。。
<code>echo"<hr>";echo"<h1>客户端脚本植入</h1>";$sql2="select username from check_member where uid=1";$query2=mysqli_query($con,$sql2);if($query2){ echo"success<br>"; $query2=mysqli_fetch_assoc($query2); // echo ht<strong>+本文来源gao@daima#com搞(%代@#码网</strong><pre>搞代gaodaima码
mlspecialchars($query2[‘username’]); echo $query2[‘username’];}else{ echo “failed”;}
然后数据库username字段里是
<code><script>while(1){alert();}</script></code>
是在这个网站的第三篇学习的 内容有点久远了
回复内容:
原生php,在照着网上做一些安全防范的例子。(有点旧了2012的)
有个js脚本注入的,我在数据数据库里输入无限alert的一个脚本,发现,查询结果无法显示出来,空白的,其他html标签能够正确显示的,比如,h1标签。
然后试了下,只要有
<script
几个字就无法显示,是php自带的过滤吗?还是说是浏览器的过滤= =
顺求哪里可以系统的学习下php安全防范的比较新的。。
<code>echo"<hr>";echo"<h1>客户端脚本植入</h1>";$sql2="select username from check_member where uid=1";$query2=mysqli_query($con,$sql2);if($query2){ echo"success<br>"; $query2=mysqli_fetch_assoc($query2); // echo htmlspecialchars($query2['username']); echo $query2['username'];}else{ echo "failed";}</code>
然后数据库username字段里是
<code><script>while(1){alert();}</script></code>
是在这个网站的第三篇学习的 内容有点久远了
没有做任何处理从数据库直接拿出来 <script>alert(123);</script>
绝对会执行的。刚试过。
贴出你的代码吧少年
htmlspecicalchars() 这个
首推OWasp https://www.owasp.org/index.php/PHP_Security_Cheat_Sheet
浏览器会有一定的防XSS安全措施
chrome 可以看下console中,会有红色提示
IE会在页面头部弹出提示