web安全基础知识

常见的web安全问题,原理和防范措施。 

  • sql注入
  • XSS(跨站脚本攻击, Cross-Site Scripting)
  • CSRF(跨站请求伪造, Cross-site request forgery)

 

什么是sql注入?

  • 通过构造特殊的输入参数传入web应用,导致后端执行了恶意的sql
  • 通常由于程序员未对输入进行过滤,直接动态拼接sql产生
  • 可以使用开源工具sqlmap,sqlninja 检测。

 

如何防范sql注入?

原则:永远不要相信用户的任何输入

  • 对输入参数做好检查(类型和范围); 过滤和转义特殊字符
  • 不要直接拼接sql, 使用ORM可以大大降低sql注入的风险
  • 数据库层: 做好权限管理配置; 不要明文储存敏感信息。

 

什么是xss(Cross Site Scripting), 跨站脚本攻击

 

如何防范XSS呢?

不要相信用户的任何输入!

  • 过滤(输入和参数)。 对敏感标签<script> <img><a>等进行过滤。
  • 转义。 对常见的符号("&","<",">")转义(python3 html.escape)

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些