首页 > 后端开发 > 正文

如何正确防御xss攻击

2024-12-11 19:14:19 | 我爱编程网

今天我爱编程网小编为大家带来了如何正确防御xss攻击,希望能帮助到大家,一起来看看吧!

本文目录一览:

如何正确防御xss攻击

XSS(跨站脚本漏洞)谁帮忙修复下,我看着就头大,一窍不通啊。

对于php你可以用htmlentities()函数
例如这样:
<?php
echo htmlentities($_POST['abc']);
?>
至于asp,租念颂默认弊郑就能防xss攻击高液,无需任何操作

如何正确防御xss攻击

修复php漏洞xss改那个文件

<?php
$aa=$_GET['dd'];
echo $aa."123";//这里没有经过过滤就可以显示出来,导致的
?>

过滤原理:

首先要想执行js脚本那就让html解析那些是js脚本,诸如:

<script type="text/javascript">alert("这里会被js执行");</script>

所以要过滤<script>标签和</script>

或者过滤‘<’和‘>’这两个符号

实现:

<?php
$aa=$_GET['dd'];
$aa=str_replace('<','&lt;',$aa);
$aa=str_replace('>','&gt;',$aa);//以上两句是直接过滤'<'和'>'缺点其他便签不能用
/*定向过滤<script>*/
/*
$aa=str_replace('<script>','&lt;script&gt;',$aa);
$aa=str_replace('</script>','&lt;/script&gt;',$aa);
*/
echo $aa."123";//这里没有经过过滤就可以显示出来,导致的
?>

总的来说就是过滤些"非法"标签

如何正确防御xss攻击

我爱编程网(https://www.52biancheng.com)小编还为大家带来如何正确防御xss攻击的相关内容。

传统防御技术

2.1.1基于特征的防御

传统XSS防御多采用特征匹配方式,在所有提交的信息中都进行匹配检查。对于这种类型的 XSS攻击 ,采用的模式匹配方法一般会需要孙桐对“javascript”这个关键字纳物进行检索,一旦发现提交信息中包含“javascript”,就认定为XSS攻击。

2.1.2 基于代码修改的防御

和SQL注入防御一样,XSS攻击也是利用了Web页面的编写疏忽,所以还有一种方法就是从Web应用开发的角度来避免:

1、对所有用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、POST数据等,仅接受指定长度范围内、采则茄坦用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。

2、实现Session标记(session tokens)、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。

3、确认接收的的内容被妥善的规范化,仅包含最小的、安全的Tag(没有javascript),去掉任何对远程内容的引用(尤其是样式表和javascript),使用HTTP only的cookie。

当然,如上方法将会降低Web业务系统的可用性,用户仅能输入少量的制定字符,人与系统间的交互被降到极致,仅适用于信息发布型站点。

并且考虑到很少有Web编码人员受过正规的安全培训,很难做到完全避免页面中的XSS漏洞。 我爱编程网

扩展资料:

XSS攻击的危害包括

1、盗取各类用户帐号,如机器登录帐号、用户 网银 帐号、各类管理员帐号

2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力

3、盗窃企业重要的具有商业价值的资料

4、非法转账

5、强制发送电子邮件

6、网站挂马

7、控制 受害者 机器向其它网站发起攻击

受攻击事件

新浪微博 XSS受攻击事件

2011年6月28日晚,新浪微博出现了一次比较大的XSS攻击事件。

大量用户自动发送诸如:

“ 郭美美事件 的一些未注意到的细节”,“ 建党大业 中穿帮地方”,“让女人心动的100句诗歌”,“这是传说中的 神仙眷侣 啊”等等微博和私信,并自动关注一位名为hellosamy的用户。

事件的经过线索如下:

20:14,开始有大量带V的认证用户中招转发蠕虫

20:30,某网站中的病毒页面无法访问

20:32,新浪微博中hellosamy用户无法访问

21:02,新浪漏洞修补完毕

百度贴吧 xss攻击事件

2014年3月9晚,六安吧等几十个贴吧出现点击推广贴会自动转发等。并且吧友所关注的每个关注的贴吧都会转一遍,病毒循环发帖。并且导致吧务人员,和吧友被封禁。

参考资料:

XSS攻击-百度百科

以上就是我爱编程网整理的如何正确防御xss攻击相关内容,想要了解更多信息,敬请查阅我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“如何正确防御xss攻击”相关推荐
php如何防止sql注入攻击?
php如何防止sql注入攻击?

php如何防止sql注入攻击?注入式攻击的类型可能存在许多不同类型的攻击动机,但是乍看上去,似乎存在更多的类型。这是非常真实的-如果恶意用户发现了一个能够执行多个查询的办法的话。本文后面,我们会对此作详细讨论。如果你的脚本正在执行一个SELECT指令,那么,攻击者可以强迫显示一个表格中的每一行记录-通过把一个例如=1这样的条件注入到WHERE子句中,如下所示(其中,注入部

2024-07-19 23:28:44
有什么 绕过 htmlentities 进行 xss 攻击的方法吗
有什么 绕过 htmlentities 进行 xss 攻击的方法吗

求教ThinkPHP有自带的防止XSS的代码么你好,据我所知,ThinkPHP并没有自带的防止XSS的代码.不过,在PHP上,要想防止XSS,其实很简单,只需要调用一个函数即可:htmlspecialchars()在你的要求输入字符的位置,调用htmlspecialchars()函数即可.希望我的回答能够对你有所帮助.有什么绕过htmlentities进行xss攻击的方法吗函数

2024-11-24 23:57:54
PHP代码网站如何防范SQL注入漏洞攻击建议分享
PHP代码网站如何防范SQL注入漏洞攻击建议分享

PHP代码网站如何防范SQL注入漏洞攻击建议分享做为网络开发者的你对这种黑客行为恨之入骨,当然也有必要了解一下SQL注入这种功能方式的原理并学会如何通过代码来保护自己的网站数据库。今天就通过PHP和MySQL数据库为例,分享一下我所了解的SQL注入攻击和一些简单的防范措施和一些如何避免SQL注入攻击的建议。简单来说,SQL注入是使用代码漏洞来获取网站或应用程序后台的SQL数据库中的数据,

2025-02-03 06:34:20
如何正确运用PHP json
如何正确运用PHP json

如何正确运用PHPjson从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。1、json_encode()该函数主要用来将数组和对象,转换为json格式。先看一个数组转换的例子:$arr=array('a'=&gt;1,'b'=&gt;2,'c'=&gt;3,'d'=&gt;4,'e'=&gt;5);ech

2024-08-09 22:41:01
如何正确结束Java线程
如何正确结束Java线程

如何正确结束Java线程1.使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。2.使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend、resume一样,也可能发生不可预料的结果)。3.使用interrupt方法中断线程。1.使用退出标志终止线程当run方法执行完后,线程就会退出。但有时run方法是永远不会结束的。如在服务端程序中使用

2024-04-16 21:40:59
如何正确实现PHP与Javascript交互
如何正确实现PHP与Javascript交互

如何正确实现PHP与Javascript交互在PHP与JavaScript交互时,通常的做法是使用jQuery的$.post方法将数据提交至指定的PHP文件,例如index.php。在JavaScript端,你只需编写如下代码:vardata={id:1};$.post('index.php',data,function(response){//在这里处理返回的数据});

2025-01-28 02:15:43
怎样运行php文件?(求php防止被sql 注入攻击的过滤用户输入内容的函数)
怎样运行php文件?(求php防止被sql 注入攻击的过滤用户输入内容的函数)

怎样运行php文件?php文件如何在控制台运行?1、关键是要添加一个针对这个文件的运行配置。2、先打开菜单Run-EditConfigurations选项。3、然后在打开的窗口中点击左上角的+号。4、在打开的菜单中选择PHPScript。5、在打开的界面中找到Configuration-File。6、选择你要在控制台运行的文件。7、填入工作目录的路径(

2025-01-20 13:05:48
PHP中如何正确格式化从SQLserver中读出的日期?
PHP中如何正确格式化从SQLserver中读出的日期?

求助thinkphp连接SQLserver2008拷贝php_sqlsrv_54_ts.dll到wampserver的bin\php\php5.4.3\ext文件夹下;添加extension=php_sqlsrv_54_ts.dll到php.iniconfig.php是这样设置的:'DB_TYPE'=&gt;'sqlsrv',//数据库类型'DB_HOST'=&gt;'192

2025-01-11 22:52:28