php csrf攻击 xss区别,XSS与CSRF攻击及防御方法

前言

web安全这词可能对于服务端工程师来说更加“眼熟”,部分前端工程师并不是十分了解,今天就来讲讲XSS攻击与CSRF攻击及防御方法

XSS

XSS (Cross Site Scripting),即跨站脚本攻击,是一种常见于 Web 应用中的计算机安全漏洞。大部分的XSS 漏洞都来自于程序没有处理好用户输入的文本内容,恶意攻击者往 Web 页面里嵌入恶意的客户端脚本,当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的。比如获取用户的 Cookie、导航到恶意网站、携带木马等等!

XSS 脚本攻击案例:

新浪微博遭受 XSS 攻击

人人网遭受 XSS 攻击

实例

测试XSS攻击

$(document).ready(function(){

$("#tijiao").click(function(){

var content = $("#username").val();

$('#name').html(content);

});

});

你的姓名:

提交


用户姓名:

正常用户的姓名肯定是不会有问题,但是假如用户姓名是:

张三

//甚至

张三

就这样很简单的通过前端页面来获取用户在网站中的信任数据,然后通过自己的脚本文件去执行自己的操作!

XSS防御

一个经典的防御方法就是对内容进行转义和过滤,比如

var escapeHtml = function(str) {

if(!str) return '';

str = str.replace(/&/g, '&');

str = str.replace(/

str = str.replace(/>/g, '>');

str = str.replace(/"/g, '&quto;');

str = str.replace(/'/g, ''');

// str = str.replace(/ /g, ' ');

return str;

};

var name = escapeHtml(`张三`);

此时 name 中那段脚本代码就会变成:

"张三

你可能感兴趣的:(php,csrf攻击,xss区别)