代码安全
2017-02-13 本文已影响30人
Separes
PHP 常见的安全情况:
- SQL 注入
- XSS 攻击
关于 SQL注入 大部分是因为对写入数据库的数据没有进行验证,这样可能出现很多无法估计的错误,假如别人通过接口漏洞将请求参数写成删除表或者数据的 sql 那么结果可以想想的到就是整个系统都可能出现问题,所以在接口中对请求参数进行验证并且在写入数据之前也要验证数据是否合法,不能觉得现在没有问题就不考虑,等后面真的出现问题都迟了。
XSS (Cross Site Scripting) 攻击,实际上是指用户在表单中有意或无意输入一些恶意字符,从而影响页面效果。
常见的恶意字符XSS 输入:
-
1.XSS 输入通常包含 JavaScript 脚本,如弹出恶意警告框:
<script>alert("XSS");</script> -
2.XSS 输入也可能是 HTML 代码段,譬如:
(1).网页不停地刷新
<meta http-equiv="" content="0;"> refresh
(2).嵌入其它网站的链接
<iframe src=http://xxxx width=250 height=250><iframe>
PHP 这边的做法可以是将含有特殊字符的内容屏蔽掉,避免写入数据库后在页面呈现上出现问题。
目前在接口中最常用的就是 PHP 自带方法 htmlspecialchars