php下过滤html代码的函数 提高程序安全性
function ihtmlspecialchars($string) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = ihtmlspecialchars($val);
}
} else {
$string = preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/', '&\\1',
str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string));
}
return $string;
}
function htmlEncode($string) {
$string=trim($string);
$string=str_replace("&","&",$string);
$string=str_replace("'","'",$string);
$string=str_replace("&","&",$string);
$string=str_replace(""",""",$string);
$string=str_replace("\"",""",$string);
$string=str_replace("<","<",$string);
$string=str_replace("<","<",$string);
$string=str_replace(">",">",$string);
$string=str_replace(">",">",$string);
$string=str_replace(" "," ",$string);
$string=nl2br($string);
return $string;
}
相关推荐
-
php 安全过滤函数代码
复制代码 代码如下: //安全过滤输入[jb] function check_str($string, $isurl = false) { $string = preg_replace('/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F]/','',$string); $string = str_replace(array("\0","%00","\r"),'',$string); empty($isurl) &&am
-
php 对输入信息的进行安全过滤的函数代码
复制代码 代码如下: // define constannts for input reading define('INPUT_GET', 0x0101); define('INPUT_POST', 0x0102); define('INPUT_GPC', 0x0103); /** * Read input value and convert it for internal use * Performs stripslashes() and charset conversion if neces
-
YII Framework的filter过滤器用法分析
本文实例讲述了YII Framework的filter过滤器用法.分享给大家供大家参考,具体如下: 首先看官方给出的说明文档,什么是过滤器,过滤器的作用,过滤器的规则,过滤器的定义方法等等. 然后对过滤器进行一个总结. http://www.yiiframework.com/doc/guide/1.1/zh_cn/basics.controller 过滤器是一段代码,可被配置在控制器动作执行之前或之后执行.例如, 访问控制过滤器将被执行以确保在执行请求的动作之前用户已通过身份验证:性能过滤器可用
-
PHP开发不能违背的安全规则 过滤用户输入
作为最基本的防范你需要注意你的外部提交,做好第一面安全机制处理防火墙. 规则 1:绝不要信任外部数据或输入 关于Web应用程序安全性,必须认识到的第一件事是不应该信任外部数据.外部数据(outside data) 包括不是由程序员在PHP代码中直接输入的任何数据.在采取措施确保安全之前,来自任何其他来源(比如 GET 变量.表单 POST.数据库.配置文件.会话变量或 cookie)的任何数据都是不可信任的. 例如,下面的数据元素可以被认为是安全的,因为它们是在PHP中设置的. 复制代码 代码如
-
PHP的Yii框架中过滤器相关的使用总结
Yii过滤器简介 过滤器是一段代码,可被配置在控制器动作执行之前或之后执行.例如, 访问控制过滤器将被执行以确保在执行请求的动作之前用户已通过身份验证:性能过滤器可用于测量控制器执行所用的时间. 一个动作可以有多个过滤器.过滤器执行顺序为它们出现在过滤器列表中的顺序.过滤器可以阻止动作及后面其他过滤器的执行. 过滤器有两种写法: 基于方法的过滤器 基于自定义过滤器类的过滤器 无论哪种过滤器,都必须在控制器中重写控制器的public function filters()方法,设置哪个过滤器对哪个动
-
php实现XSS安全过滤的方法
本文实例讲述了php实现XSS安全过滤的方法.分享给大家供大家参考.具体如下: function remove_xss($val) { // remove all non-printable characters. CR(0a) and LF(0b) and TAB(9) are allowed // this prevents some character re-spacing such as <java\0script> // note that you have to handle sp
-
PHP中字符安全过滤函数使用小结
在WEB开发过程中,我们经常要获取来自于世界各地的用户输入的数据.但是,我们"永远都不能相信那些用户输入的数据".所以在各种的Web开发语言中,都会提供保证用户输入数据安全的函数.在PHP中,有些非常有用并且方便的函数,它们可以帮助你防止出现像SQL注入攻击,XSS攻击等问题. 1. mysql_real_escape_string() 这个函数曾经对于在PHP中防止SQL注入攻击提供了很大的帮助,它对特殊的字符,像单引号和双引号,加上了"反斜杠",确保用户的输入在
-
php判断文件上传类型及过滤不安全数据的方法
本文实例讲述了php判断文件上传类型及过滤不安全数据的方法.分享给大家供大家参考.具体如下: 禁止上传除图片文件以外的文件,提示,不要获取文件扩展名来判断类型,这样是最不安全的,我们用$_FIlES['form']['type']. 这个可以读取文件内容来识别文件类型,但它能识别的有限,不过如果你用图片就足够了解.函数,过滤不安全字符,实例函数代码如下: 复制代码 代码如下: function s_addslashes($string, $force = 0) { if(!get_magic_
-
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
本文实例讲述了Yii净化器CHtmlPurifier用法.分享给大家供大家参考,具体如下: 1. 在控制器中使用: public function actionCreate() { $model=new News; $purifier = new CHtmlPurifier(); $purifier->options = array( 'URI.AllowedSchemes'=>array( 'http' => true, 'https' => true, ), 'HTML.All
-
php常用的安全过滤函数集锦
虽然各种开发框架给我们提供了很好的安全的处理方式,但是,我们还是要注意一下安全问题的. 原因简单:很多小的功能和项目是用不到框架的,我们需要自己解决安全问题! ①常用的安全函数有哪些: 复制代码 代码如下: mysql_real_escape_string() addslashes() ②这些函数的作用: mysql_real_escape_string()和addslashes()函数都是对数据中的 单引号.双引号进行转义!也就是防止sql注入! 但是mysql_real_escape_
-
php HtmlReplace输入过滤安全函数
复制代码 代码如下: // $rptype = 0 表示仅替换 html标记 // $rptype = 1 表示替换 html标记同时去除连续空白字符 // $rptype = 2 表示替换 html标记同时去除所有空白字符 // $rptype = -1 表示仅替换 html危险的标记 function HtmlReplace($str,$rptype=0) { $str = stripslashes($str); if($rptype==0) { $str = htmlspecialchar
随机推荐
- Oracle正则表达式使用介绍
- JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
- VBS教程:属性-TotalSize 属性
- 远程开启/关闭目标telnet服务的windows脚本RTCS.vbs
- Java简单实现SpringMVC+MyBatis分页插件
- jquery将标签元素的高设为屏幕的百分比
- TMDPHP 模板引擎使用教程
- Codeigniter操作数据库表的优化写法总结
- 详解Docker学习笔记之搭建一个JAVA Tomcat运行环境
- JavaScript中使用Object.prototype.toString判断是否为数组
- 基于JavaScript实现窗口拖动效果
- jQuery操作iframe中js函数的方法小结
- javascript 焦点的两个问题
- C#使用foreach语句搜索数组元素的方法
- 在.net应用程序中运行其它EXE文件的方法
- php实现在线通讯录功能(附源码)
- android 设置闹钟及通知示例
- 详解如何使用 vue-cli 开发多页应用
- 详解node Async/Await 更好的异步编程解决方案
- nginx rewrite 实现URL跳转的方法