作者:单纯只是一2502904797 | 来源:互联网 | 2017-05-18 23:39
一:
如何防范SQL注入
1、使用PDO预处理的方式,也就是一个萝卜一个坑。
预处理。将输入的数值,绑定到参数,也就是放进坑里(一个萝卜一个坑,一个参数一个坑),这样输入的内容(外部的内容)就都落到坑里了,在每个坑里处理每个参数,这样就安全了,不会出现SQL注入。
2、使用htmlspecialchars()等函数进行转义。还可以对输入类型进行检测,类型转换。
二:如何防范CSRF攻击
1、使用token进行验证。可以在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有 token 或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。(使用GET或POST方法加TOKEN)
2、验证HTTP Referer字段。HTTP Referer字段,记录该HTTP请求的来源。如果来源是外部,那么就拒绝这个请求。(这个方法不安全,可以篡改HTTP Referer字段)
3、一般框架,像ThinkPHP、laravel有表单令牌可以做防范。
4、相关文章:https://www.ibm.com/developerw
三 如何防范XSS攻击
1、案例:听以前在阿里的同事分享:之前淘宝有一个意见反馈功能,有一天后台人员查看用户提交的意见,打开的某一条意见的瞬间,自动跳转到了另一个网站。但当时幸亏是阿里内网,对外网做了限制,没有造成危害。可见,XSS不可小觑。
2、防范:最简单的办法,过滤输入。对用户的输入,可以使用htmlspecialchars()等函数进行过滤转义,当然,一些文件上传等,也可能会造成此攻击,要限制上传文件的类型,比如只能传图片等。