php防sql注入函数

function clean($str)
{
 $str=trim($str);
 $str=strip_tags($str);
 $str=stripslashes($str);
 $str=addslashes($str);
 $str=rawurldecode($str);
 $str=quotemeta($str);
 $str=htmlspecialchars($str);
 $str=preg_replace("//+|/*|/`|//|/-|/$|/#|/^|/!|/@|/%|/&|/~|/^|/[|/]|/‘|/"/", "", $str);//去除特殊符号+*`/-$#^[email protected]#$%&[]‘"
 $str=preg_replace("//s/", "", $str);//去除空格、换行符、制表符
 return $str;
}

转自网络

时间: 2024-10-07 07:01:06

php防sql注入函数的相关文章

自定义防SQL注入函数

/************************************************ *SQL防注入函数 *@time 2014年6月24日18:50:59 * */ public function safe_replace($string){ $string = str_replace('%20','',$string); $string = str_replace('%27','',$string); $string = str_replace('%2527','',$stri

PHP防SQL注入攻击

PHP防SQL注入攻击 收藏 没有太多的过滤,主要是针对php和mysql的组合. 一般性的防注入,只要使用php的 addslashes 函数就可以了. 以下是一段copy来的代码: PHP代码 $_POST = sql_injection($_POST); $_GET = sql_injection($_GET); function sql_injection($content) { if (!get_magic_quotes_gpc()) { if (is_array($content))

【荐】PDO防 SQL注入攻击 原理分析 以及 使用PDO的注意事项

我们都知道,只要合理正确使用PDO,可以基本上防止SQL注入的产生,本文主要回答以下几个问题: 为什么要使用PDO而不是mysql_connect? 为何PDO能防注入? 使用PDO防注入的时候应该特别注意什么? 一.为何要优先使用PDO? PHP手册上说得很清楚: Prepared statements and stored procedures Many of the more mature databases support the concept of prepared statemen

防sql注入攻击

这两天看了个防sql注入,觉得有必要总结一下: 首先需要做一些php的安全配置: 1 在php.ini 中把display_errors改成OFF display_errors = OFF 或在php文件前加入 error_reporting(0) 2 关闭一些“坏功能” 1)关闭magic quotes功能 在php.ini 把magic_quotes_gpc = OFF 避免和addslashes等重复转义 2)关闭register_globals = Off 在php.ini 把regis

回头探索JDBC及PreparedStatement防SQL注入原理

概述 JDBC在我们学习J2EE的时候已经接触到了,但是仅是照搬步骤书写,其中的PreparedStatement防sql注入原理也是一知半解,然后就想回头查资料及敲测试代码探索一下.再有就是我们在项目中有一些配置项是有时候要变动的,比如数据库的数据源,为了在修改配置时不改动编译的代码,我们把要变动的属性提取到一个配置文件中,比如properties,因为properties里面都是键值对的形式,所以非常便于阅读和维护. 一.首先说说读取properties文件,这个相对路径和绝对路径的问题:

nginx服务器防sql注入/溢出攻击/spam及禁User-agents

本文章给大家介绍一个nginx服务器防sql注入/溢出攻击/spam及禁User-agents实例代码,有需要了解的朋友可进入参考. 在配置文件添加如下字段即可  代码如下 复制代码 server { ## 禁SQL注入 Block SQL injections set $block_sql_injections 0; if ($query_string ~ "union.*select.*(") { set $block_sql_injections 1; } if ($query_

C#语言Winform防SQl注入做用户登录的例子

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace OmyGod {     public partial

在Global.asax文件里实现通用防SQL注入漏洞程序

首先,创建一个SQLInjectionHelper类完成恶意代码的检查 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Text.RegularExpressions; /// <summary> ///SQLInjectionHelper 的摘要说明 /// </summary> public class SQLInjec

php防止sql注入函数

$magic_quotes_gpc= get_magic_quotes_gpc(); @extract(daddslashes($_COOKIE)); @extract(daddslashes($_POST)); @extract(daddslashes($_GET)); if(!$magic_quotes_gpc){ $_FILES = daddslashes($_FILES); } functiondaddslashes($string, $force = 0) { if(!$GLOBALS