webhelpers.html.tags.escape VS webhelpers.util.html_escape

本文深入探讨了WebHelpers模块中escape和html_escape函数在处理XSS问题时的区别,通过代码实例展示了两者如何影响字符串的输出,推荐使用util.html_escape以避免不必要的字符转义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天用weblhelpers模块,碰到要自定义一个控件,考虑到xss问题,得escape下,结果被tags.escape坑爹了。(=,=|||)

如题:两者的区别请看以下代码


import webhelpers.html.tags as h
import webhelpers.util as u

print '<span>'+h.escape('<script>alert(1)</script>')+'</span>'
print '<span>'+u.html_escape('<script>alert(1)</script>')+'</span>'

h.escape的结果,整句都被escape了,包括前后的span:

&lt;span&gt;&lt;script&gt;alert(1);&lt;/script&gt;&lt;/span&gt;

u.html_escape的结果,指定变量被escape,不包括前后的span:

<span>&lt;script&gt;alert(1);&lt;/script&gt;</span>


所以么,推荐用util.html_escape

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值