前端解决恶意访问的几个方法

查看付费资源请通过右侧购买区域进行购买!

一、XSS

【Cross Site Script】跨站脚本攻击

恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

防御方法:

1.过滤关键字:script javascript等

 /**

     * [hasIllegalChar 判断是否含有script非法字符]

     * @param  {[type]}  str [要判断的字符串]

     * @return {Boolean}     [true:含有,验证不通过;false:不含有,验证通过]

     */

 function hasIllegalChar(str) {

     return new RegExp(".*?script[^>]*?.*?(<\/.*?script.*?>)*", "ig").test(str);

2.限制输入,规定输入的只能是某些格式的数据

/**

将含有<>等符号转化为其他字符简单方便

**/

function safeStr(str){

return str.replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g, "&quot;").replace(/'/g, "&#039;");

二、 CSRF

【Cross Site Request Forgery】站点伪造请求

跨站点参考伪造通过在访问用户被认为已经通过身份验证的Web应用程序的页面中包含恶意代码或链接来工作。 如果该Web应用程序的会话没有超时,攻击者可能执行未授权的命令。

防御方法:

1.在请求地址中添加 token 并验证

2.在HTTP 头中自定义属性并验证

3.验证 HTTP Referer 字段 ;

(Http协议头中的Referer主要用来让服务器判断来源页面, 即用户是从哪个页面来的,通常被网站用来统计用户来源,是从搜索页面来的,还是从其他网站链接过来,或是从书签等访问,以便网站合理定位.Referer有时也被用作防盗链, 即下载时判断来源地址是不是在网站域名之内, 否则就不能下载或显示,很多网站,如天涯就是通过Referer页面来判断用户是否能够下载图片.)

三、SQL注入

用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据。

防御方法:

1.采用sql语句预编译和绑定变量,是防御sql注入的最佳方法。采用JDBC的预编译语句集,它内置了处理SQL注入的能力,只要使用它的setXXX方法传值即可。

2.使用正则表达式来过滤一些sql关键字,如or、where等。

四、文件上传攻击

防御方法:

文件上传的目录设置为不可执行。

判断文件类型。在判断文件类型的时候,可以结合使用MIME Type,后缀检查等方式。因为对于上传文件,不能简单地通过后缀名称来判断文件的类型,因为攻击者可以将可执行文件的后缀名称改为图片或其他后缀类型,诱导用户执行。

对上传的文件类型进行白名单校验,只允许上传可靠类型。

上传的文件需要进行重新命名,使攻击者无法猜想上传文件的访问路径,将极大地增加攻击成本。

限制上传文件的大小。

单独设置文件服务器的域名。

转载请说明出处内容投诉
仿站网 » 前端解决恶意访问的几个方法

发表评论

您需要后才能发表评论

仿站网专注帝国cms仿站,Zblog仿站,Wordpress仿站服务,专业+效率+售后保障

关于我们 联系客服
 
QQ在线咨询
客服热线
139-3511-2134