PHP简单预防sql注入的方法_php技巧

本文实例讲述了PHP简单预防sql注入的方法。分享给大家供大家参考,具体如下:

出现sql注入一般都是因为语法不规范不严谨造成的,问题出现在sql语句上,而起决定性的是quote(')。如下:

$sql = "delete from table where id ='$id'" ;

正常提交的话就是删除一条数据,若id提交的是(1 ' or 1 #),那么sql语句就变成了

delete from table where id = '1'or 1 #';

这样的话就会把整个表给删掉,造成无法挽回的结果。

既然问题出现在quote上,那么只要将其转义即可(\')

php提供两个函数使用

addslashes($str)
//建议使用下面的,可以避免出现字符集问题
mysql_real_escape_string($str,$link)
//避免整型数据可能不被sql增加引号,强制在转换后的数据使用引号包裹
function($str){
  return "'".mysql_real_escape_string($str,$this->link)."'";
}

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php程序设计安全教程》、《php安全过滤技巧总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, sql注入
预防
php预防sql注入、预防sql注入、如何预防sql注入、mybatis 预防注入、mybatis 预防sql注入,以便于您获取更多的相关知识。

时间: 2025-01-02 20:07:33

PHP简单预防sql注入的方法_php技巧的相关文章

php中$_GET与$_POST过滤sql注入的方法_php技巧

本文实例讲述了php中$_GET与$_POST过滤sql注入的方法,分享给大家供大家参考.具体分析如下: 此函数只能过滤一些敏感的sql命令了,像id=1这种大家还是需要自己简单过滤了. 主要实现代码如下: 复制代码 代码如下: if (!get_magic_quotes_gpc()) { if (!empty($_GET)) { $_GET  = addslashes_deep($_GET); } if (!empty($_POST)) { $_POST = addslashes_deep($

输入值/表单提交参数过滤有效防止sql注入的方法_php技巧

输入值/表单提交参数过滤,防止sql注入或非法攻击的方法: 复制代码 代码如下: /** * 过滤sql与php文件操作的关键字 * @param string $string * @return string * @author zyb <zyb_icanplay@163.com> */ private function filter_keyword( $string ) { $keyword = 'select|insert|update|delete|\'|\/\*|\*|\.\.\/|

浅析php过滤html字符串,防止SQL注入的方法_php技巧

批量过滤post,get敏感数据 复制代码 代码如下: $_GET = stripslashes_array($_GET);$_POST = stripslashes_array($_POST); 数据过滤函数 复制代码 代码如下: function stripslashes_array(&$array) { while(list($key,$var) = each($array)) {  if ($key != 'argc' && $key != 'argv' &&

php简单实现sql防注入的方法_php技巧

本文实例讲述了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

PHP中防止SQL注入实现代码_php技巧

一. 注入式攻击的类型 可能存在许多不同类型的攻击动机,但是乍看上去,似乎存在更多的类型.这是非常真实的-如果恶意用户发现了一个能够执行多个查询的办法的话.本文后面,我们会对此作详细讨论. 如 果你的脚本正在执行一个SELECT指令,那么,攻击者可以强迫显示一个表格中的每一行记录-通过把一个例如"1=1"这样的条件注入到WHERE子句中,如下所示(其中,注入部分以粗体显示): SELECT * FROM wines WHERE variety = 'lagrein' OR 1=1;'

PHP与SQL注入攻击[二]_php技巧

PHP与SQL注入攻击[二] Magic Quotes 上文提到,SQL注入主要是提交不安全的数据给数据库来达到攻击目的.为了防止SQL注 入攻击,PHP自带一个功能可以对输入的字符串进行处理,可以在较底层对输入进行安全 上的初步处理,也即Magic Quotes.(php.ini magic_quotes_gpc).如果magic_quotes_gpc 选项启用,那么输入的字符串中的单引号,双引号和其它一些字符前将会被自动加上反斜杠\. 但Magic Quotes并不是一个很通用的解决方案,没

php使用pdo连接并查询sql数据库的方法_php技巧

本文实例讲述了php使用pdo连接并查询sql数据库的方法.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: $login = "root"; $passwd = "mysql"; try{   $db=new pdo('mysql:host=localhost;dbname=mysql',$login,$passwd);   foreach($db->query('select * from test') as $row){   print_

PHP简单创建压缩图的方法_php技巧

本文实例讲述了PHP简单创建压缩图的方法.分享给大家供大家参考,具体如下: <?php //创建压缩图 function _create_thumbnail($srcFile, $toW, $toH, $toFile="") { if ($toFile == "") { $toFile = $srcFile; } $info = ""; $data = getimagesize($srcFile, $info); if (!$data) r

PHP与SQL注入攻击[一]_php技巧

Haohappy http://blog.csdn.net/Haohappy2004 SQL注入攻击是黑客攻击网站最常用的手段.如果你的站点没有使用严格的用户输入检验,那么非常容易遭到SQL注入攻击.SQL注入攻击通常通过给站点数据库提交不良的数据或查询语句来实现,很可能使数据库中的纪录遭到暴露,更改或被删除.下面来谈谈SQL注入攻击是如何实现的,又如何防范. 看这个例子: // supposed input $name = "ilia'; DELETE FROM users;"; m