javascript - 跨站攻击,看了有点蒙,求解

WBOY
Libérer: 2016-06-06 20:44:04
original
1100 Les gens l'ont consulté

<code><form method="post" action="test_form.php"></form>
<script>alert('hacked')</script>
</code>
Copier après la connexion
Copier après la connexion

为何这样的是不安全的

<code>htmlspecialchars处理后
<form method="post" action="test_form.php/">
<script>alert('hacked')</script>">
</form></code>
Copier après la connexion
Copier après la connexion

这样是安全的

test_form.php"/ 小白怎么看都觉得只是两个" /换了个位置

出自http://www.w3school.com.cn/php/php_form_validation.asp

回复内容:

<code><form method="post" action="test_form.php"></form>
<script>alert('hacked')</script>
</code>
Copier après la connexion
Copier après la connexion

为何这样的是不安全的

<code>htmlspecialchars处理后
<form method="post" action="test_form.php/">
<script>alert('hacked')</script>">
</form></code>
Copier après la connexion
Copier après la connexion

这样是安全的

test_form.php"/ 小白怎么看都觉得只是两个" /换了个位置

出自http://www.w3school.com.cn/php/php_form_validation.asp

原谅我刚才看错了,还以为只讨论htmlspecialchars。

防范xss首先应从格式规范上面入手。比如你那个页面表单里的姓名、电邮、网址,都是有格式的,取得参数值的时候用正则表达式或者手写个函数校验一下,能省不少事情。

再比如评论这种没有格式规范的,或者格式当中允许出现html格式字符的,在输入或者输出的地方,用htmlspecialchars处理一下。这个函数的作用就是把一些html格式字符转化为实体,这样就会直接显示出来而不会被解析了。

这里有篇文章,传送门:
XSS 与 CSRF 两种跨站攻击

可以参考下我以前总结的blog,详情

htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。

htmlspecialchars()是将一些敏感的字符进行了转义。避免一些别有用心的用户利用特殊字符来实现分割原本要执行的语句,产生歧义,或分割为两条语句,或更多从来实现破坏的目的。

总之,就是永远不要相信用户提交的任何数据,一定要在入库或使用前要进行预处理。

牛逼嗯解释。

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!