python过滤unicode控制字符
昨天晚上平台被个别用户利用了一个漏洞:
原理:https://www.zhihu.com/question/43621727
http://blog.sina.com.cn/s/blog_593d2b950100hwl1.html
在浏览器上执行测试代码:
data:text/html;charset=utf8,<script>document.write('陈佳慧'+String.fromCharCode(8238)+'送了一座海岛'.split('').reverse().join('')+String.fromCharCode(8237))</script>
复制生成的文字,取app上修改昵称。
效果:
虽然说没有影响到业务数据,但是这样的漏洞如上面介绍的那样还是有一些风险的,对于其他用户也有困扰。
写了一个过滤函数。
def nick_name_filter(nick_name):return nick_name.replace(unichr(8206).encode('utf-8'), '') \.replace(unichr(8207).encode('utf-8'), '') \.replace(unichr(8205).encode('utf-8'), '') \.replace(unichr(8204).encode('utf-8'), '') \.replace(unichr(8234).encode('utf-8'), '') \.replace(unichr(8237).encode('utf-8'), '') \.replace(unichr(8238).encode('utf-8'), '') \.replace(unichr(8236).encode('utf-8'), '') \.replace(unichr(8302).encode('utf-8'), '') \.replace(unichr(8303).encode('utf-8'), '') \.replace(unichr(8299).encode('utf-8'), '') \.replace(unichr(8298).encode('utf-8'), '') \.replace(unichr(8301).encode('utf-8'), '') \.replace(unichr(8300).encode('utf-8'), '') \.replace(unichr(30).encode('utf-8'), '') \.replace(unichr(31).encode('utf-8'), '')
python过滤unicode控制字符相关推荐
- python过滤文本中的emoji表情
python过滤文本中的emoji表情 最近在处理文本内容的时候发现很多文本会有特色表情,由于占位较多,想着能过滤掉就好,也不影响文本内容含义,并且对后续做语义分析也有帮助. 网上搜了下,总体还是通过 ...
- python过滤多个开头结尾
简单模式: aaaa = 'rtsp://aaaaaaaaa'bbbb = 'rtmp://aaaabbbb'datas=[aaaa,bbbb]for data in datas:if data.st ...
- python与php8-详解Python中Unicode和utf-8
在Python语言中,Uincode字符串处理一直是一个容易让人迷惑的问题.许多Python爱好者经常因为搞不清Unicode.UTF-8还有其它许许多多的编码之间的区别而大伤脑筋.本文将介绍Unic ...
- python decode unicode encode
字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(en ...
- Python中Unicode字符串
字符串还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数 ...
- python过滤_在纯Python中映射,过滤和减少
python过滤 基础 (The Basics) Map, filter and reduce are functions that help you handle all kinds of coll ...
- php ascii过滤,php过滤ascii控制字符
在开发网站的过程中,偶尔会见到网站中包含ASCII码,接下来吾爱编程为大家介绍一下php过滤ascii控制字符的方法,有需要的小伙伴可以参考一下: 1.ASCII简介: ASCII ((America ...
- 【C++】利用Unicode控制字符-RLO构造欺骗性文件后缀
普通的利用过程: 1.准备已经生成好的exe程序. 2.重命名该文件,右键,选择"插入unicode控制字符"→"RLO" 3.将正序的文件名"gnp ...
- 【Virus Analysis】插入Unicode控制字符-RLO
What 前两天有突然个坏人从QQ上发来了个rar压缩文件,当时我肯定这个是病毒,但是在我解压后发现,这个是一个asxarcs.txt的文本文件,随后我进入文件夹选项,发现隐藏已知文件类型的扩展名的勾 ...
最新文章
- Python基本知识以及if语句
- 吴恩达演讲直指AI落地三大挑战,并提出解决方案(附视频)
- mysql sum 为 0 的解决方法
- 如何扩展以太坊:分片
- Wireshark抓包—maybe caused by 'IP chechsum offload'?
- 四川师范学院C语言实验报告,C语言【四川师范大学文理学院吧】_百度贴吧
- Effective Java之考虑自定义的序列化模式(七十五)
- 准备辞职了,走之前想解决的问题ptr 为空
- 典型用户分析及用户场景分析
- 在哪里可以运行EJB?
- c语言创建一个顺序表主函数,用C语言来创建一个顺序表(数据结构部分)
- JAVA中的内部类(二)成员内部类
- ARMV8体系结构简介
- slots游戏html5开发,unity自定义游戏框架Custom Slots fr amework 1.4
- 状压DP——子集DP
- css 魔方,css 3d旋转魔方
- 分享几个软件测试逻辑思维和综合面试题【含答案】
- grep正则表达式后面的单引号和双引号的区别?
- HTML5游子吟网页的完整代码,《游子吟》教学案
- 会计中运用计算机知识点,电算化会计知识点..doc
热门文章
- Kafka命令及相关参数解释
- 全面剖析页游巨头发家史(转)
- 验证码的生成及简单效果展示(Java篇)
- Studyacount少壮不努力 老大徒伤悲
- 黄河科技学院计算机应用技术在哪个校区,黄河科技学院成考计算机应用技术(高升专)专业_黄河科技学院成考报名_成考计算机应用技术专业就业方向_中国教育在线...
- Java汉字转汉语拼音工具类
- LearningSpark(5):Spark共享变量理解
- 潍坊医学院计算机实验室里哪个门近,医学研究试验中心试验室安全知识题库-潍坊医学院.PDF...
- 微量齿轮泵mzr-7245和mzr-4622在全自动密度测定中的应用
- java final成员变量吗_阳光沙滩博客-为什么Java匿名内部内使用局部变量需要加final?而访问成员变量却不用加final呢?...