flask做web开发以及爬虫采集时注意html实体转义
在做python的flask-web开发以及在做爬虫采集时,注意 <>&'"的转义工作,注意安全问题
flask在这方面操作有:
1、在传递到模板之前,用 Markup 对象封装 HTML字符串。一般推荐这个方法。
2、在模板中,使用 |safe 过滤器显式地标记一个字符串为安全的 HTML ( {{ myvariable|safe }} )。
3、临时地完全禁用自动转义系统。
在模板中禁用自动转义系统,可以使用 {%autoescape %} 块:
{% autoescape false %}
<p>autoescaping is disabled here
<p>{{ will_not_be_escaped }}
{% endautoescape %}
python中也有一个控制HTML实体转义库:HTML
1、html.escape(s, quote=True)
转换字符串s中的&、<和>字符为HTML安全的序列。如果你需要在HTML中显示可能包含此类字符的文本,请使用此选项。如果可选标志quote为真,则还会转换字符(")和(');这对引号分隔的HTML属性值中的内容有帮助,如<a href="...">。
版本3.2中的新功能。
2、html.unescape(s)
转换字符串s中所有命名和数字字符引用(例如>、>、&x3e;)为对应的Unicode字符。 对于有效的和无效的字符引用,此函数使用HTML 5标准定义的规则,以及list of HTML 5 named character references。
版本3.4中的新功能。
测试代码截图:
来自Davids zhou博客原创文章请尊重作者:http://www.zongk.com/zongk/125.html转载请标注此链接
Davids zhou | 站点地图 | | | 皖ICP备14017762号 如有侵犯您权利点击上面QQ -Powered By 帝国CMS -davids.zhou#qq.com(#换@)
Davidszhou个人博客主要记录在网站建设、SEO优化、python开发、PHP开发中遇到问题记录保存,作为他人参考学习教程