php过滤不安全字符函数

php过滤不安全字符函数

function uh($str)
{
    $farr = array(
        "/\s+/",//过滤多余的空白
        "/<(\/?)(script|i?frame|style|html|body|title|link|meta|\?|\%)([^>]*?)>/isU",//过滤 <script 等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还可以加入<object的过滤
        "/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU",//过滤JavaScript的on事件
    );
   $tarr = array(
        " ",
        "<\\1\\2\\3>", //如果要直接清除不安全的标签,这里可以留空
        "\\1\\2",
   );

  $str = preg_replace($farr,$tarr,$str);
  return $str;

时间: 2024-10-23 19:10:57

php过滤不安全字符函数的相关文章

asp 过滤html 敏感字符转换成html编码函数

asp教程 过滤html 敏感字符转换成html编码函数 '本款函数是根据用户传入的参数然后一个个遍历再把html敏感字符转换成html编码形式,这样就过滤敏感html哦. function htmlencode2(str)     dim result     dim l     if isnull(str) then        htmlencode2=""        exit function     end if     l=len(str)     result=&qu

【函数】Oracle函数系列(1)--字符函数

[函数]Oracle函数系列(1)--字符函数   1  BLOG文档结构图    BLOG_Oracle_lhr_函数系列(1)--字符函数.pdf 2  前言部分   2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 常见字符函数(lower.upper.initcap.concat.substr.length.intr.lpad.rpad.trim.chr.ascii.replace.translate

mysql oracle 分割字符函数

问题描述 mysql oracle 分割字符函数 5C 8:5;71:41;1:8;2:12;3:17;4:20 这样格式的字段传一个冒号前面的值,输出冒号后面的值怎么实现 解决方案 google oracle实现split 解决方案二: select substring_index('8:5'':' -1) from table where substring_index('8:5'':' 1) = 8

给whygod,如何过滤高亮显示非法字符!

高亮显示 <?//我只是做一个测试,如果再用类似tmd的字符串,一定要注意,如果字符串中的字符出现在$StartReplaceHtml或者$EndReplaceHtml中,你需要修改下面的preg_replace中的规则$CheckedMessage="Hello!!他X的..他....X...的....How are you m d ";     //the message to be checked echo $CheckedMessage."<br>&

ASP过滤SQL非法字符并格式化html代码

sql <%function changechr(str) changechr=replace(replace(replace(replace(str,"<","<"),">",">"),chr(13),"<br>")," "," ") changechr=replace(replace(replace(replace(cha

oracle的单行函数:字符函数

字符函数 1.ASCII(x)和chr(x) ASCII(x):返回字符x的ASCII码 chr(x):返回ASCII码为x的字符 2.concat(x,y) 用于将y添加到x之后,与||功能一样 3.initcap(x) 将x中的每个单词的首字母转换成大写 4.instr(x,find_string[,start][,occurence]) 在x中查找find_string,返回find_string所在的位置 可选参数start:说明从x中的哪个位置开始查找,第一个位置为1. 可选参数occ

Oracle中处理LOB字段的常用字符函数

以前处理LOB字段都是使用DBMS_LOB包,最近看了文档才发现,原来很多常用的字符函数都是支持LOB字段的. 建立一个测试表: SQL> CREATE TABLE T_LOB (ID NUMBER, CONTENTS CLOB); Table created. SQL> DECLARE 2     V_LOB CLOB; 3  BEGIN 4        INSERT INTO T_LOB 5     VALUES (1, EMPTY_CLOB()) 6     RETURN  CONTE

aspx-c # asp.net有没有一段正则表达式 可以过滤那些危险字符的

问题描述 c # asp.net有没有一段正则表达式 可以过滤那些危险字符的 c # asp.net有没有一段正则表达式 可以过滤那些危险字符的 比如我在文本框输入<br>alert("测试") 或者 update delete insert 这样的字符就提示是危险字符串.. 有上面好的思路 或者相关的文章 解决方案 cmd.Parameters.AddWithValue(""@参数名""参数值);假定这里cmd是SqlCommand

对象-请教一个MFC另外一个类返回字符函数的问题

问题描述 请教一个MFC另外一个类返回字符函数的问题 创建了一个新类,如果调用这个新类的成员变量的话,直接把新类对象实例化,然后新类.m_str ,这样调用不就行了吗?为什么我看别人写的代码,还要在新类的头文件定义几个 字符串CSTRING函数,用这个函数返回成员变量的值,请问下这样不是多此一举吗?跟 我用的方法有什么区别呢? 解决方案 通过函数返回成员变量值的目的是隐藏类实现的细节,这也是面向对象的特点. 解决方案二: 不要直接返回栈上的局部变量,因为堆栈会在函数返回后销毁. 解决方案三: 如