失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > PHP如何防止XSS攻击 – PHP基础 – 前端 基于微信外卖php

PHP如何防止XSS攻击 – PHP基础 – 前端 基于微信外卖php

时间:2023-08-19 22:53:04

相关推荐

PHP如何防止XSS攻击 – PHP基础 – 前端 基于微信外卖php

XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。

HTML是一种超文本标记语言,通过将一些字符特殊地对待来区别文本和标记,例如,小于符号(<)被看作是HTML标签的开始,<title>与</title>之间的字符是页面的标题等等。当动态页面中插入的内容含有这些特殊字符(如<)时,用户浏览器会将其误认为是插入了HTML标签,当这些HTML标签引入了一段JavaScript脚本时,这些脚本程序就将会在用户浏览器中执行。所以,当这些特殊字符不能被动态页面检查或检查出现失误时,就将会产生XSS漏洞。

当然偶会将标题设计的非常吸引人点击,比如 “陈冠希艳照又有流出版(20P无码)” ,这样如果偶将里面的alert换成恶意代码,比如:

location.href=’?cookie=’+document.cookie’;或者<a href=’?cookie=’+document.cookie>。用户的cookie偶也拿到了,如果服务端session没有设置过期的话,偶以后甚至拿这个cookie而不需用户名密码,就可以以这个用户的身份登录成功了。

预防XSS攻击

从根本上说,解决办法是消除网站的XSS漏洞,这就需要网站开发者运用转义安全字符等手段,始终把安全放在心上。

简单点,就是过滤从表单提交来的数据,使用php过滤函数就可以达到很好的目的。

htmlspecialchars() 函数

代码实例:

<?php

if (isset($_POST[‘name’])){

$str = trim($_POST[‘name’]); //清理空格

$str = strip_tags($str); //过滤html标签

$str = htmlspecialchars($str); //将字符内容转化为html实体

$str = addslashes($str); //防止SQL注入

echo $str;

}

?>

<form method=”post” action=””>

<input name=”name” type=”text”>

<input type=”submit” value=”提交” >

</form>

具体操作无法一一写出,需要你边实践边摸索

如果觉得《PHP如何防止XSS攻击 – PHP基础 – 前端 基于微信外卖php》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。