PHP安全,防止SQL注入(输入过滤,输出转义)

(1)magic_quotes_gpc选项打开,在这种情况下所有的客户端GET和POST的数据都会自动进行addslashes处理

(2)防止对数字值的SQL注入,如用intval()等函数进行处理

(3)mysql_real_escape_string( string )  addslashes(string)

以上是利用PHP自带函数来防止SQL注入

下面提供一个例子,是在一个页面实现过滤,然后,需要用到的页面引入代码即可

#整站防注入

if (@magic_quotes_gpc()) {

  $_GET = sec($_GET);

  $_POST = sec($_POST);

  $_COOKIE = sec($_COOKIE);

  $_FILES = sec($_FILES);

}

#统一处理输入变量

function sec($array) {

  //如果是数组,遍历数组,递归调用

  if (is_array($array)) {

    foreach($array as $k => $v) {

      $array[$k] = sec($v);

    }

  } else if (is_string($array)) {

    //使用addslashes函数处理

    $array = addslashes($array);

  } else if (is_numeric($array)) {

    $array = intval($array);

  }

  return $array;

}

时间: 2024-10-12 10:25:02

PHP安全,防止SQL注入(输入过滤,输出转义)的相关文章

sql 注入安全过滤-安全模块

1 <?php 2 /** 3 * 安全模块 4 * Email:[email protected] 5 * 主要针对xss跨站攻击.sql注入等敏感字符串进行过滤 6 * @author hkshadow 7 */ 8 class safeMode{ 9 10 /** 11 * 执行过滤 12 * @param 1 linux/2 http/3 Db/ $group 13 * @param 保存路径以及文件名/文件名/null $projectName 14 */ 15 public func

SQL注入公共过滤方法

public string NoHtml(string Htmlstring) { if (Htmlstring == null) { return ""; } else { //删除脚本 Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase); //删除HTML Htmlst

ASP.NET 之 防SQL注入篇

1. 什么是SQL注入     所谓SQL注入,就是通过把SQL命令插入到表单窗体递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行一些恶意的SQL命令.通过递交参数构造巧妙的SQL语句,从而成功获取想要的数据. 2. SQL注入的种类从具体而言,SQL注入可分为五大类,分别是:数字型注入.字符型注入.搜索型注入(like).in型的注入.句语连接型注入.从应用来说,要特别注意IP.搜索.批量删除.从数据库转到数据库等地方的SQL注入. 3,如何进行的注入 下面我们看一个典型例子 1S

SQL注入攻防入门详解(2)

SQL注入攻防入门详解 =============安全性篇目录============== 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机会接触相关开发……必须的各种借口.这几天把sql注入的相关知识整理了下,希望大家多多提意见. (对于sql注入的攻防,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避免后知后觉的犯下大错,专门查看大量前辈们的心得,这方面的资料颇多,将其精简出自己觉得重要的,就成了该文

[转]SQL注入攻防入门详解

原文地址:http://www.cnblogs.com/heyuquan/archive/2012/10/31/2748577.html =============安全性篇目录============== 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机会接触相关开发……必须的各种借口.这几天把sql注入的相关知识整理了下,希望大家多多提意见. (对于sql注入的攻防,我只用过简单拼接字符串的注入及参数化查询,可以说没什么

SQL注入攻防入门详解

原文地址:http://www.cnblogs.com/heyuquan/archive/2012/10/31/2748577.html =============安全性篇目录============== 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机会接触相关开发……必须的各种借口.这几天把sql注入的相关知识整理了下,希望大家多多提意见. (对于sql注入的攻防,我只用过简单拼接字符串的注入及参数化查询,可以说没什么

【转载】SQL注入攻防入门详解

滴答…滴答…的雨,欢迎大家光临我的博客. 学习是快乐的,教育是枯燥的. 博客园  首页  博问  闪存    联系  订阅 管理 随笔-58 评论-2028 文章-5  trackbacks-0 站长统计|  今日IP[353] | 今日PV[848] | 昨日IP[922] |  昨日PV[2188] |当前在线[10] SQL注入攻防入门详解 =============安全性篇目录============== 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但

SQL注入深入剖析

SQL注入是一门很深的学问,也是一门很有技巧性的学问 1.  运算符的优先级介绍 2.  SQL语句执行函数介绍 mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE. 对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE. 非FALSE 的返回值意味着查询是合法的并能够被服务器执行.这并不说明任何有关影响到的或返回的行数.很有可能一条查

yii过滤xss代码,防止sql注入

作者:白狼 出处:www.manks.top/article/yii2_filter_xss_code_or_safe_to_database 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 实际开发中,涉及到的语言也好,框架也罢,web安全问题总是不可避免要考虑在内的,潜意识中的考虑. 意思就是说喃,有一条河,河很深,在没办法游过去的情况下你只能沿着河上唯一的一座桥走过去. 好啦,我们看看在yii框架的不同版本中是怎么处