企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
1. **跨站脚本攻击(XSS)** XSS(cross site scripting)攻击指的是攻击者往Web页面里插入**恶意html标签或者javascript代码**。 比如:攻击者在论坛中放一个看似安全的链接,骗取用户点击后,窃取cookie中的用户私密信息;或者攻击者在论坛中加一个恶意表单,当用户提交表单的时候,却把信息传送到攻击者的服务器中,而不是用户原本以为的信任站点。 #### **防范:** 1、对于敏感的cookie信息,使用HttpOnly,使document对象中找不到cookie。 HttpOnly的理解:如果您在cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击。 PHP设置: ![](https://img.kancloud.cn/0f/4f/0f4ff8db0d98ec577160521579eef03f_454x132.png) 利用HttpResponse的addHeader方法,设置Set-Cookie的值: ![](https://img.kancloud.cn/98/63/986379f98ac3f13b519d4d6ea7f9c8cf_591x303.png) 2、对于用户输入的信息要进行转义。 **2. SQL注入攻击** 通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 #### **防范:** 简单列子: ![](https://img.kancloud.cn/06/b3/06b32eac627e5f441fecf44545922347_936x428.png) ①:永远不要信任用户的输入,要对用户的输入进行校验,可以通过正则表达式,或限制长度,对单引号和双"-"进行转换等。 ②:永远不要使用**动态拼装SQL**,**可以使用参数化的SQL**或者**直接使用存储过程进行数据查询存取** ③:永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接 ④:不要把机密信息明文存放,请加密或者hash掉密码和敏感的信息 <br> **3、跨站请求伪造(CSRF)** **防范:** **验证 Token**:浏览器请求服务器时,服务器返回一个 token,之后每个请求都需要同时带上 token 和 Cookie 才会被认为是合法请求 **验证 Referer**:HTTP头中有一个Referer字段,这个字段用以标明请求来源于哪个地址。如果是CSRF攻击传来的请求,Referer字段会是包含恶意网址的地址,不会位于www.examplebank.com之下,这时候服务器就能识别出恶意的访问。 <br> 这种办法简单易行,工作量低,仅需要在关键访问处增加一步校验。但这种办法也有其局限性,因其完全依赖浏览器发送正确的Referer字段。虽然http协议对此字段的内容有明确的规定,但并无法保证来访的浏览器的具体实现,亦无法保证浏览器没有安全漏洞影响到此字段。并且也存在攻击者攻击某些浏览器,篡改其Referer字段的可能。 <br> **统计黑客网站:** https://cybermap.kaspersky.com/ 是一个实时展示**全球恶意软件攻击的地图** https://www.hacked.com.cn/ 是国内的一个黑客相关信息的网站,这个网站是专门用来统计近期被黑客