javascript - PHP正则 去除uncode 控制字符的正则

php中文网
发布: 2016-10-10 11:55:54
原创
1264人浏览过

在写网站的用户名验证,叫玩渗透的朋友测试。。然后给我来了个控制字符的输入(虽然没啥关系,但是,还是有影响。貌似在sf上面的正则也不起作用。还有,php perl怎么使用uncode?
如下测试:

<code class="php"><?php
    $str=json_decode('"ux\u202eDD"');
    var_dump($str);
    var_dump(preg_match('/\x202e/', $str));</code>
登录后复制

无法匹配(注:u202e 为RLO控制字符)
违禁字符 测试:‮功轮法
字符序为 RLO功轮法
貌似控制字符钻的空子蛮多?
贴吧已经屏蔽了控制字符,不过,我能力有限,没有找到相关的控制JS的REX。
特来sf求助。
PS:用户名中文没法用 /^[x4e00-x9affw]{4,12}$/

回复内容:

在写网站的用户名验证,叫玩渗透的朋友测试。。然后给我来了个控制字符的输入(虽然没啥关系,但是,还是有影响。貌似在sf上面的正则也不起作用。还有,php perl怎么使用uncode?
如下测试:

<code class="php"><?php
    $str=json_decode('"ux\u202eDD"');
    var_dump($str);
    var_dump(preg_match('/\x202e/', $str));</code>
登录后复制

无法匹配(注:u202e 为RLO控制字符)
违禁字符 测试:‮功轮法
字符序为 RLO功轮法
貌似控制字符钻的空子蛮多?
贴吧已经屏蔽了控制字符,不过,我能力有限,没有找到相关的控制JS的REX。
特来sf求助。
PS:用户名中文没法用 /^[x4e00-x9affw]{4,12}$/

翻完了PHP Manual ,找到了匹配的模式,,,中文,a-zA-Z_,匹配正则:
/[wx{4e00}-x{9aff}]{4,12}/u 测试:

人声去除
人声去除

用强大的AI算法将声音从音乐中分离出来

人声去除 23
查看详情 人声去除

立即学习PHP免费学习笔记(深入)”;

<code class="php"><?php
    $str=json_decode('"ux这\u202eわかぃまぃだDD"');
    var_dump($str);
    var_dump(preg_match('/^[\w\x{4e00}-\x{9aff}]{4,12}$/u', $str,$match));
    var_dump($match);</code>
登录后复制

中文和日语应该都没问题了,要开启utf-8模式。

在UTF-8模式, “x{…}”允许使用, 花括号内的内容是十六进制有效数字。 它将给出的十六进制数字解释为 UTF-8 字符代码。 u (PCRE_UTF8)此修正符打开一个与 perl 不兼容的附加功能。 模式字符串被认为是utf-8的. 这个修饰符 从 unix 版php 4.1.0 或更高,win32版 php 4.2.3 开始可用。 php 4.3.5 开始检查模式的 utf-8 合法性。问题结束,不明白为啥没大大回答。
相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号