好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php过滤敏感文字 php 过滤 特殊符号

很多站长朋友们都不太清楚php过滤敏感文字,今天小编就来给大家整理php过滤敏感文字,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 PHP和MySQL中对大小写敏感的函数有哪些? 2、 php 过滤body里的东西 3、 求php过滤ios的Emoji表情的方法,如果字符串中包含Emoji表情就删除。 4、 php如何防止网站内容被采集 5、 如何使用“PHP” 彩蛋进行敏感信息获取 PHP和MySQL中对大小写敏感的函数有哪些?

你要去查PHP手册

楼上说的只是对一部分,其实函数调用的时候不区分大小写,但是他的参数可能区分。

$_POST $_SERVER是内置的全局变量,所以区分大小写。

最简单的查找办法:百度->打:“php 函数名字”

php 过滤body里的东西

<?php

//保留标签

function strip_word_html($text, $allowed_tags = '<b><i><sup><sub><em><strong><u><br>')

{

    mb_regex_encoding('UTF-8');

    $search = array('/lsquo;/u', '/rsquo;/u', '/ldquo;/u', '/rdquo;/u', '/mdash;/u');

    $replace = array('\'', '\'', '"', '"', '-');

    $text = preg_replace($search, $replace, $text);

    

    

    $text = html_entity_decode($text, ENT_QUOTES, 'UTF-8');

    

    if(mb_stripos($text, '/*') !== FALSE){

        $text = mb_eregi_replace('#/\*.*?\*/#s', '', $text, 'm');

    }

    

    $text = preg_replace(array('/<([0-9]+)/'), array('< $1'), $text);

    $text = strip_tags($text, $allowed_tags);

    //$text = preg_replace(array('/^\s\s+/', '/\s\s+$/', '/\s\s+/u'), array('', '', ''), $text);

    $search = array('#<(strong|b)[^>]*>(.*?)</(strong|b)>#isu', '#<(em|i)[^>]*>(.*?)</(em|i)>#isu', '#<u[^>]*>(.*?)</u>#isu');

    $replace = array('<b>$2</b>', '<i>$2</i>', '<u>$1</u>');

    $text = preg_replace($search, $replace, $text);

   

    $num_matches = preg_match_all("/\<!--/u", $text, $matches);

    if($num_matches){

          $text = preg_replace('/\<!--(.)*--\>/isu', '', $text);

    }

    return $text;

}

//去掉属性

function clean_inside_tags($txt,$tags){

   

    preg_match_all("/<([^>]+)>/i",$tags,$allTags,PREG_PATTERN_ORDER);

    foreach ($allTags[1] as $tag){

        $txt = preg_replace("/<".$tag."[^>]*>/i","<".$tag.">",$txt);

    }

    return $txt;

}

//用来过滤html

function trmhtml($text){

    $rm = '<p><img><br>';

    $text = str_replace("nbsp;","",$text);

    $text = strip_word_html($text, $rm);

    $cit = clean_inside_tags($text, '<p><img>');

    $cit = str_replace("nbsp;","",$cit);

    return $cit;

}

//使用

$str = '<div class="nav_ent"><p>sss</p>

<div class="nav_ent1_1"><a href="/"><img src="/data/upload/help/202303/13/1199ee2e126399e814883b8d8d579a5c.jpg" /></a></div>

<div class="nav_ent1"><a href="/news/"><img src="/data/upload/help/202303/13/5582a298a477bddf4c9f7a683a63d320.jpg"  alt="新闻" border="0"></a></div>

<div class="nav_ent2"><table width="100%" class=43160 cellpadding="0" cellspacing="0"><tr><td valign=top><A href="/world/" target=_top>国际</A>nbsp;nbsp;<A href="/china/" target=_top>时政</A>nbsp;nbsp;<A href="/opinion/" target=_top>评论</A>nbsp;nbsp;<A href="/photo/" target=_blank>图片</A>nbsp; <A href="/world/paper.htm" target=_blank>外媒</A>nbsp; <A href="/news/live/" target=_top>直播</A>nbsp; <A href="/news/special.htm" target=_top>专题</A>nbsp; <A href="/news/update.htm" target=_blank>滚动</A></td></tr><tr><td align=right colspan=1></td></tr></table></div>

</div>

<div class="clearit"id="top" name="top"></div> 

<div class="gotop"><a href="#top">nbsp;</a></div>

</div>';

echo trmhtml($str);

?>

试试吧,看是不是要这样的效果!

求php过滤ios的Emoji表情的方法,如果字符串中包含Emoji表情就删除。

网上已经有开源的了! 你参考下

iOS 5.0之前,苹果都是采用3个字节来承接 emoji 表情,Java 的普通 char 可以支持显示。但 iOS 5.0 之后, 苹果升级了系统自带的 emoji 表情输入法,用的 Unicode 6 标准来统一,是采用4个 bytes 来承接一个 emoji 表情。如果不做处理的话,这种表情直接存储到 mysql5.5 以下的数据库是会报错的。就像这两个表情一样:口口, 在 Windows 8 以下估计都不支持显示,可能会显示成框框,可能压根就是空白, 你可以在 Mac 中使用Safari 浏览器中,就可以看到。经过测试,在 Mac 就算用 Chrome 浏览器(Version 25.0.1364.172)也是不行的。

这种数据在 Mysql 5.5 之前,UTF-8 支持1-3个字节的编码,从 Mysql5.5 开始后,可以支持4个字节的 UTF 编码,但要特殊标记。修改 Mysql 相应存储字段为 utf8mb4 。修改语句如下:

1 ALTER TABLE table_name

2 MODIFY COLUMN content varchar(500) CHARACTER

3 SET utf8mb4 COLLATE utf8mb4_unicode_ci

4 DEFAULT NULL COMMENT 'content of message';

在某种业务情景下,我们可以选择过滤掉这种“非法”的字符。我采用的方式是,在字符上面做操作,下面是Java示例代码,核心的代码附上,应该是 无法直接下载就能够编译,你得小小的做一些微调,没有额外的依赖:

01 public class EmojiFilter {

02

03 /**

04 * 检测是否有emoji字符

05 * @param source

06 * @return 一旦含有就抛出

07 */

08 public static boolean containsEmoji(String source) {

09 if (StringUtils.isBlank(source)) {

10 return false;

11 }

12

13 int len = source.length();

14

15 for (int i = 0; i < len; i++) {

16 char codePoint = source.charAt(i);

17

18 if (isEmojiCharacter(codePoint)) {

19 //do nothing,判断到了这里表明,确认有表情字符

20 return true;

21 }

22 }

23

24 return false;

25 }

26

27 private static boolean isEmojiCharacter(char codePoint) {

28 return (codePoint == 0x0) ||

29 (codePoint == 0x9) ||

30 (codePoint == 0xA) ||

31 (codePoint == 0xD) ||

32 ((codePoint >= 0x20) (codePoint <= 0xD7FF)) ||

33 ((codePoint >= 0xE000) (codePoint <= 0xFFFD)) ||

34 ((codePoint >= 0x10000) (codePoint <= 0x10FFFF));

35 }

36

37 /**

38 * 过滤emoji 或者 其他非文字类型的字符

39 * @param source

40 * @return

41 */

42 public static String filterEmoji(String source) {

43

44 if (!containsEmoji(source)) {

45 return source;//如果不包含,直接返回

46 }

47 //到这里铁定包含

48 StringBuilder buf = null;

49

50 int len = source.length();

51

52 for (int i = 0; i < len; i++) {

53 char codePoint = source.charAt(i);

54

55 if (isEmojiCharacter(codePoint)) {

56 if (buf == null) {

57 buf = new StringBuilder(source.length());

58 }

59

60 buf.append(codePoint);

61 } else {

62 }

63 }

64

65 if (buf == null) {

66 return source;//如果没有找到 emoji表情,则返回源字符串

67 } else {

68 if (buf.length() == len) {//这里的意义在于尽可能少的toString,因为会重新生成字符串

69 buf = null;

70 return source;

71 } else {

72 return buf.toString();

73 }

74 }

75

76 }

77 }

还有优化的空间,但是已经能够满足大多数情况的需求,附上单元测试(JUnit4):

01 public class EmojiFilterTest {

02

03

04 /**

05 * 测试emoji表情

06 */

07 @Test

08 public void fileterEmoji() {

09 String s = "<body>口口213这是一个有各种内容的消息, Hia Hia Hia !!!! xxxx@@@...*)!" +

10 "(@*$@(!)@*)!$!)@^%@(!. 口口口], ";

11 String c = Utils.filterEmoji(s);

12 assertFalse(s.equals(c));

13 String expected = "<body>213这是一个有各种内容的消息, Hia Hia Hia !!!! xxxx@@@...*)" +

14 "!(@*$@(!)@*)!$!)@^%@(!. ], ";

15 assertEquals(expected, c);

16 // assertSame(c, expected);

17 assertSame(expected, "<body>213这是一个有各种内容的消息, Hia Hia Hia !!!! xxxx@@@...*)" +

18 "!(@*$@(!)@*)!$!)@^%@(!. ], ");

19 assertSame(c, Utils.filterEmoji(c));

20 }

21

22 }

php如何防止网站内容被采集

1、限制IP地址单位时间的访问次数

分析:没有哪个常人一秒钟内能访问相同网站5次,除非是程序访问,而有这种喜好的,就剩下搜索引擎爬虫和讨厌的采集器了。

弊端:一刀切,这同样会阻止搜索引擎对网站的收录

适用网站:不太依靠搜索引擎的网站

采集器会怎么做:减少单位时间的访问次数,减低采集效率

2、屏蔽ip

分析:通过后台计数器,记录来访者ip和访问频率,人为分析来访记录,屏蔽可疑Ip。

弊端:似乎没什么弊端,就是站长忙了点

适用网站:所有网站,且站长能够知道哪些是google或者百度的机器人

采集器会怎么做:打游击战呗!利用ip代理采集一次换一次,不过会降低采集器的效率和网速(用代理嘛)。

3、利用js加密网页内容

Note:这个方法我没接触过,只是从别处看来

分析:不用分析了,搜索引擎爬虫和采集器通杀

适用网站:极度讨厌搜索引擎和采集器的网站

采集器会这么做:你那么牛,都豁出去了,他就不来采你了

4、网页里隐藏网站版权或者一些随机垃圾文字,这些文字风格写在css文件中

分析:虽然不能防止采集,但是会让采集后的内容充满了你网站的版权说明或者一些垃圾文字,因为一般采集器不会同时采集你的css文件,那些文字没了风格,就显示出来了。

适用网站:所有网站

采集器会怎么做:对于版权文字,好办,替换掉。对于随机的垃圾文字,没办法,勤快点了。

5、用户登录才能访问网站内容

分析:搜索引擎爬虫不会对每个这样类型的网站设计登录程序。听说采集器可以针对某个网站设计模拟用户登录提交表单行为。

适用网站:极度讨厌搜索引擎,且想阻止大部分采集器的网站

采集器会怎么做:制作拟用户登录提交表单行为的模块

如何使用“PHP” 彩蛋进行敏感信息获取

include <QtCore/QCoreApplication>

#include <QAxObject>

#include <Windows.h>

int main(int argc, char *argv[])

{

//OleInitialize(0);

//CoInitialize(0);

QCoreApplication a(argc, argv);

QAxObject *asdfg = new QAxObject("Excel.Application");

return a.exec();

}

关于php过滤敏感文字的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php过滤敏感文字 php 过滤 特殊符号的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did197226
更新时间:2023-04-26   阅读:38次

上一篇: node和PHP node和php哪个适合做微服务

下一篇:php0和空 php空间是什么意思

最新资料更新

  • 1.php限制访问ip php访问被拒绝
  • 2.php会做流控吗 php流程控制
  • 3.php毫秒间隔 php时间距离现在
  • 4.phpjson提交 phppost提交
  • 5.PHP网站防止挂马 php防止直接访问
  • 6.phpisset多个值 php __set __get
  • 7.十荟团php开发怎么样 十荟团内部人士真实感受
  • 8.phpping测速 测试php性能工具
  • 9.phpstorm写前端 phpstorm写html
  • 10.php文字合到图片 php 图片合成
  • 11.php登录保护机制 php保持登录状态
  • 12.php文本转字节 php字符转换成数字
  • 13.php数组逗号分隔 php中的输出语句 能使用逗号分隔多个表达式
  • 14.php获取数组坐标 php获取数组的值
  • 15.php数据抓取实例 php采集数据
  • 16.杭州php前景如何 杭州php培训学校
  • 17.php写循环下拉页面 php下拉菜单的代码
  • 18.输出图片php 输出图片英文
  • 19.php合并特殊字符 php合并单元格的代码
  • 20.php判断08数字 php 判断数字

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]