首页 > 代码库 > phalcon: 上下文转义
phalcon: 上下文转义
phalcon: 上下文转义
Phalcon\Escaper
转义特殊的字符
一:字符转义
$maliciousTitle = ‘</title><script>alert(1)</script>‘;$e = new Phalcon\Escaper();echo $e->escapeHtml($maliciousTitle)
最不安全的情形即是在html标签中插入非安全的数据
我们可以使用escapeHtml方法对这些文本进行转义:
$e->escapeHtml(‘></div><h1>myattack</h1>‘);
二,html属性转义
<table width="<?php echo $e->escapeHtmlAttr(‘"><h1>Hello</table‘); ?>"><tr><td>Hello</td></tr></table>结果如下:<table width=""><h1>Hello</table"><tr><td>Hello</td></tr></table>
三,url的转义
一些html的属性如href或url需要使用特定的方法进行转义:
我们这里使用escapeUrl方法进行url的转义:
<a href="http://www.mamicode.com/<?php echo $e->escapeUrl(‘"><script>alert(1)</script><a href="http://www.mamicode.com/#‘); ?>">Some link</a>结果如下:<a href="http://www.mamicode.com/%22%3E%3Cscript%3Ealert%281%29%3C%2Fscript%3E%3Ca%20href%3D%22%23">Some link</a>
四,CSS转义
CSS标识/值也可以进行转义:
这里我们使用escapeCss方法进行转义:
<a style="color: <?php echo $e->escapeCss(‘"><script>alert(1)</script><a href="http://www.mamicode.com/#‘); ?>">Some link</a>结果:<a style="color: \22 \3e \3c script\3e alert\28 1\29 \3c \2f script\3e \3c a\20 href\3d \22 \23 ">Some link</a>
五,js转义
插入Javascript代码的字符串也需要进行适当的转义:
这里我们使用escapeJs进行转义:
<script>document.title = ‘<?php echo $e->escapejs("‘; alert(100); var x=‘"); ?>‘</script>
结果:<script>document.title = ‘\x27; alert(100); var x\x3d\x27‘</script>
phalcon: 上下文转义
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。