支持数组的ADDSLASHES的php函数

代码如下:

//SQL ADDSLASHES
function saddslashes($string) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = saddslashes($val);
}
} else {
$string = addslashes($string);
}
return $string;
}

(0)

相关推荐

  • php addslashes和mysql_real_escape_string

    很好的说明了addslashes和mysql_real_escape_string的区别,虽然国内很多PHP coder仍在依靠addslashes防止SQL注入(包括我在内),我还是建议大家加强中文防止SQL注入的检查.addslashes的问题在于黑客可以用0xbf27来代替单引号,而addslashes只是将0xbf27修改为0xbf5c27,成为一个有效的多字节字符,其中的0xbf5c仍会被看作是单引号,所以addslashes无法成功拦截. 当然addslashes也不是毫无用处,它是

  • PHP关于htmlspecialchars、strip_tags、addslashes的解释

    PHP的htmlspecialchars.strip_tags.addslashes是网页程序开发中常见的函数,今天就来详细讲述这些函数的用法: 1.函数strip_tags:去掉 HTML 及 PHP 的标记 注意:本函数可去掉字串中包含的任何 HTML 及 PHP 的标记字串.若是字串的 HTML 及 PHP 标签原来就有错,例如少了大于的符号,则也会传回错误.而本函数和 fgetss() 有着相同的功能.fgetss是从文件中读取文件,并去掉html和php标记. 2.函数htmlspec

  • 解析php addslashes()与addclashes()函数的区别和比较

    PHP addcslashes() 函数定义和用法addcslashes() 函数在指定的字符前添加反斜杠.语法addcslashes(string,characters)参数 描述 string 必需.规定要检查的字符串. characters 可选.规定受 addcslashes() 影响的字符或字符范围. 提示和注释注释:在对 0,r,n 和 t 应用 addcslashes() 时要小心.在 PHP 中,\0,\r,\n 和 \t 是预定义的转义序列.实例例子 1在本例中,我们要向字符串

  • php addslashes及其他清除空格的方法是不安全的

    清除空格的方法是不安全的,部分原因是因为字符中的空格非常多,例如 "addslashes的问题在 于黑客 可以用0xbf27来代替单引号,而addslashes只是将0xbf27修改为0xbf5c27,成为一个有效的多字节字符,其中的0xbf5c仍会 被看作是单引号,所以addslashes无法成功拦截." 最好是按照具体的参数需求校验确定是 int 等不是,外加数据库的参数操作方法.其实这个是数据库的 sql 问题,应该从源头数据库本身来解决,只不过有些数据库滑提供相应的方法罢了.

  • php中使用addslashes函数报错问题的解决方法

    大家看下面的代码,能发现错误在哪里吗? 复制代码 代码如下: <?phpecho function_exists('addcslashes');//检测是否存在该函数echo get_magic_quotes_gpc().'<br/>';//检测是否开启自动转义echo PHP_VERSION.'<br/>';//php版本信息echo addcslashes("Who's John Adams?");echo '<br/>';$str = &

  • php addslashes 函数详细分析说明

    语法: string addslashes(string str); 内容说明 本函数使需要让数据库处理的字符串中引号的部份加上斜线,以供数据库查询 (query) 能顺利运作.这些会被改的字符包括单引号 (').双引号 (").反斜线 backslash (\) 以及空字符 NUL (the null byte). ================================================================ 1,表单提交中addslashes的表现. 首先要

  • PHP daddslashes 使用方法介绍

    实例代码: 复制代码 代码如下: @set_magic_quotes_runtime(0); $MQG = get_magic_quotes_gpc(); if(!$MQG && $_POST) $_POST = daddslashes($_POST); if(!$MQG && $_GET) $_GET = daddslashes($_GET); //转译字符函数 function daddslashes($string) { if(!is_array($string))

  • php addslashes 利用递归实现使用反斜线引用字符串

    实现代码: 复制代码 代码如下: <?phpfunction addslashes_deep($value){//史上最经典的递归,一行搞定return is_array($value) ? array_map('addslashes_deep', $value) : addslashes($value);} //测试数据$_POST['STR'] = "'fanglor ' is \ a  boy  >'";$_GET['STR1'] = 'fanglor "

  • PHP中使用addslashes函数转义的安全性原理分析

    本文实例讲述了PHP中使用addslashes函数转义的安全性原理分析.分享给大家供大家参考.具体分析如下: 先来看一下ECshop中addslashes_deep的原型 复制代码 代码如下: function addslashes_deep($value) {     if (empty($value)) {         return $value;  //如为空,直接返回;     } else {         return is_array($value) ? array_map(

  • php stripslashes和addslashes的区别

    我们在向mysql写入数据时,比如: 复制代码 代码如下: mysql_query("update table set `title`='kuhanzhu's blog'"); 那就会出错.同asp时一样,数据库都会对单引号过敏.而addslashes在这个时候就最长面子了,跟asp的replace("'",""","kuhanzhu's blog")功能一样. PHP为了安全性,所以引入了个magic_quotes

  • PHP函数addslashes和mysql_real_escape_string的区别

    首先:不要使用mysql_escape_string,它已被弃用,请使用mysql_real_escape_string代替它. mysql_real_escape_string和addslashes的区别在于: 区别一: addslashes不知道任何有关MySQL连接的字符集.如果你给所使用的MySQL连接传递一个包含字节编码之外的其他编码的字符串,它会很愉快地把所有值为字符'.".\和\x00的字节进行转义.如果你正在使用不同于8位和UTF-8的其它字符,这些字节的值不一定全部都是表示字符

  • php daddslashes()和 saddslashes()有哪些区别分析

    //GPC过滤,自动转义$_GET,$_POST,$_COOKIE中的特殊字符,防止SQL注入攻击 $_GET = saddslashes($_GET); $_POST = saddslashes($_POST); 复制代码 代码如下: 下面是daddslashes()和 saddslashes()的例子eg: saddslashes function daddslashes($string, $force = 0, $strip = FALSE) { //字符串或数组 是否强制 是否去除 //

随机推荐