社区
基础编程
帖子详情
php里面怎么防止数据库注入攻击!!
YHL27
2009-08-19 10:07:42
求教php的安全问题,谢谢!!
...全文
223
10
打赏
收藏
php里面怎么防止数据库注入攻击!!
求教php的安全问题,谢谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wzcgy
2009-10-29
打赏
举报
回复
强悍 学习
tfxg
2009-08-21
打赏
举报
回复
寫個攻擊的sql,如何處理你自己想
select * from user where userName='admin' and 1=1;update user set password='' where 1;--'
輸入的userName為admin' and 1=1;update user set password='' where 1;--
知道如何處理了吧
Bevin_chen
2009-08-21
打赏
举报
回复
所有用户输入的数据都是不干净的, 都需要处理.
wado001
2009-08-21
打赏
举报
回复
可以这样嘛,先让它等于空,一个很简单的例子
$username="";
if($_GET['username']!="")
{
$username=$_GET['username'];
}
fjicefire
2009-08-19
打赏
举报
回复
自己访问就不用担心了哈
该昵称很风骚
2009-08-19
打赏
举报
回复
http://topic.csdn.net/u/20090703/10/b16560d1-1aad-4607-91cb-65fa32be3bdc.html
楼主看看这个帖子,给分哦哈哈
CunningBoy
2009-08-19
打赏
举报
回复
使用htmlspecialchars过滤用户输入的信息;
执行数据库操作时,不要直接将用户输入的信息插入到数据库语句中,而是使用bindParam的方式来传递参数。
babysc1
2009-08-19
打赏
举报
回复
SELECT * FROM xmen WHERE username = 'wolverine'
SQL查询会返回“xmen”表中username(用户名)=“wolverine”的数据记录。
使用参数,UPDATE语句,直接用上SQL查询语句这一定要改 在代码里最容易被攻击
切记要改。。。
个人观点 嘿嘿~
zuxiaofei
2009-08-19
打赏
举报
回复
1.用户输入验证!
2.在php拼接传来的数据适合,如果提前知道传来的数据是什么格式的,可以进行一下类型强制转换!
YHL27
2009-08-19
打赏
举报
回复
sf!!
SQL
注入
攻击
与防御(安全技术经典译丛)
作 者:(美)克拉克 著,黄晓磊,李化 译 SQL
注入
是Internet上最危险、最有名的安全漏洞之一,本书是目前唯一一本专门致力于讲解SQL威胁的图书。本书作者均是专门研究SQL
注入
的安全专家,他们集众家之长,对应用程序的基本编码和升级维护进行全面跟踪,详细讲解可能引发SQL
注入
的行为以及
攻击
者的利用要素,并结合长期实践经验提出了相应的解决方案。针对SQL
注入
隐蔽性极强的特点,本书重点讲解了SQL
注入
的排查方法和可以借助的工具,总结了常见的利用SQL漏洞的方法。另外,本书还专门从代码层和系统层的角度介绍了避免SQL
注入
的各种策略和需要考虑的问题。 本书主要内容 SQL
注入
一直长期存在,但最近有所增强。本书包含所有与SQL
注入
攻击
相关的、当前已知的信息,凝聚了由本书作者组成的、无私奉献的SQL
注入
专家团队的所有深刻见解。 什么是SQL
注入
?理解它是什么以及它的基本原理 查找、确认和自动发现SQL
注入
查找代码中SQL
注入
时的提示和技巧 使用SQL
注入
创建利用 通过设计来避免由SQL
攻击
所带来的危险 目录: 第1章 什么是SQL
注入
1.1 概述 1.2 理解Web应用的工作原理 1.2.1 一种简单的应用架构 1.2.2 一种较复杂的架构 1.3 理解SQL
注入
1.4 理解SQL
注入
的产生过程 1.4.1 构造动态字符串 1.4.2 不安全的
数据库
配置 1.5 本章小结 1.6 快速解决方案 1.7 常见问题解答 第2章 SQL
注入
测试 2.1 概述 2.2 寻找SQL
注入
2.2.1 借助推理进行测试 2.2.2
数据库
错误 2.2.3 应用响应 2.2.4 SQL盲注 2.3 确认SQL
注入
2.3.1 区分数字和字符串 2.3.2 内联SQL
注入
2.3.3 终止式SQL
注入
2.3.4 时间延迟 2.4 自动寻找SQL
注入
2.5 本章小结 2.6 快速解决方案 2.7 常见问题解答 第3章 复查代码中的SQL
注入
3.1 概述 3.2 复查源代码中的SQL
注入
3.2.1 危险的编码行为 3.2.2 危险的函数 3.2.3 跟踪数据 3.2.4 复查PL/SQL和T-SQL代码 3.3 自动复查源代码第1章 什么是SQL
注入
3.3.1 YASCA 3.3.2 Pixy 3.3.3 AppCodeScan 3.3.4 LAPSE 3.3.5 SWAAT 3.3.6 Microsoft SQL
注入
源代码分析器 3.3.7 CAT.NET 3.3.8 商业源代码复查工具 3.3.9 Ounce 3.3.10 Fortify源代码分析器 3.3.11 CodeSecure 3.4 本章小结 3.5 快速解决方案 3.6 常见问题解答 第4章 利用SQL
注入
4.1 概述 4.2 理解常见的利用技术 4.3 识别
数据库
4.3.1 非盲跟踪 4.3.2 盲跟踪 4.4 使用UINON语句提取数据 4.4.1 匹配列 4.4.2 匹配数据类型 4.5 使用条件语句 4.5.1 方法1:基于时间 4.5.2 方法2:基于错误 4.5.3 方法3:基于内容 4.5.4 处理字符串 4.5.5 扩展
攻击
4.5.6 利用SQL
注入
错误 4.5.7 Oracle中的错误消息 4.6 枚举
数据库
模式 4.6.1 SQL Server 4.6.2 MySQL 4.6.3 Oracle 4.7 提升权限 4.7.1 SQL Server 4.7.2 Oracle 4.8 窃取哈希口令 4.8.1 SQL Server 4.8.2 MySQL 4.8.3 Oracle 4.9 带外通信 4.9.1 E-mail 4.9.2 HTTP/DNS 4.9.3 文件系统 4.10 自动利用SQL
注入
4.10.1 Sqlmap 4.10.2 Bobcat 4.10.3 BSQL 4.10.4 其他工具 4.11 本章小结 4.12 快速解决方案 4.13 常见问题解答 第5章 SQL盲注利用 5.1 概述 5.2 寻找并确认SQL盲注 5.2.1 强制产生通用错误 5.2.2
注入
带副作用的查询 5.2.3 拆分与平衡 5.2.4 常见的SQL盲注场景 5.2.5 SQL盲注技术 5.3 使用基于时间的技术 5.3.1 延迟
数据库
查询 5.3.2 基于时间推断的考虑 5.4 使用基于响应的技术 5.4.1 MySQL响应技术 5.4.2 SQL Server响应技术 5.4.3 Oracle响应技术 5.4.4 返回多位信息 5.5 使用非主流通道 5.5.1
数据库
连接 5.5.2 DNS渗漏 5.5.3 E-mail渗漏 5.5.4 HTTP渗漏 5.6 自动SQL盲注利用 5.6.1 Absinthe 5.6.2 BSQL Hacker 5.6.3 SQLBrute 5.6.4 Sqlninja 5.6.5 Squeeza 5.7 本章小结 5.8 快速解决方案 5.9 常见问题解答 第6章 利用操作系统 6.1 概述 6.2 访问文件系统 6.2.1 读文件 6.2.2 写文件 6.3 执行操作系统命令 6.4 巩固访问 6.5 本章小结 6.6 快速解决方案 6.7 常见问题解答 6.8 尾注 第7章 高级话题 7.1 概述 7.2 避开输入过滤器 7.2.1 使用大小写变种 7.2.2 使用SQL注释 7.2.3 使用URL编码 7.2.4 使用动态的查询执行 7.2.5 使用空字节 7.2.6 嵌套剥离后的表达式 7.2.7 利用截断 7.2.8 避开自定义过滤器 7.2.9 使用非标准入口点 7.3 利用二阶SQL
注入
7.4 使用混合
攻击
7.4.1 修改捕获的数据 7.4.2 创建跨站脚本 7.4.3 在Oracle上运行操作系统命令 7.4.4 利用验证过的漏洞 7.5 本章小结 7.6 快速解决方案 7.7 常见问题解答 第8章 代码层防御 8.1 概述 8.2 使用参数化语句 8.2.1 Java中的参数化语句 8.2.2 .NET(C#)中的参数化语句 8.2.3
PHP
中的参数化语句 8.2.4 PL/SQL中的参数化语句 8.3 输入验证 8.3.1 白名单 8.3.2 黑名单 8.3.3 Java中的输入验证 8.3.4 .NET中的输入验证 8.3.5
PHP
中的输入验证 8.4 编码输出 8.5 规范化 8.6 通过设计来避免SQL
注入
的危险 8.6.1 使用存储过程 8.6.2 使用抽象层 8.6.3 处理敏感数据 8.6.4 避免明显的对象名 8.6.5 创建
数据库
Honeypot 8.6.6 附加的安全开发资源 8.7 本章小结 8.8 快速解决方案 8.9 常见问题解答 第9章 平台层防御 9.1 概述 9.2 使用运行时保护 9.2.1 Web应用防火墙 9.2.2 截断过滤器 9.2.3 不可编辑的输入保护与可编辑的输入保护 9.2.4 URL策略/页面层策略 9.2.5 面向方面编程 9.2.6 应用入侵检测系统 9.2.7
数据库
防火墙 9.3 确保
数据库
安全 9.3.1 锁定应用数据 9.3.2 锁定
数据库
服务器 9.4 额外的部署考虑 9.4.1 最小化不必要信息的泄露 9.4.2 提高Web服务器日志的冗余 9.4.3 在独立主机上部署Web服务器和
数据库
服务器 9.4.4 配置网络访问控制 9.5 本章小结 9.6 快速解决方案 9.7 常见问题解答 第10章 参考资料 10.1 概述 10.2 SQL入门 10.3 SQL
注入
快速参考 10.3.1 识别
数据库
平台 10.3.2 Microsoft SQL Server备忘单 10.3.3 MySQL备忘单 10.3.4 Oracle备忘单
PHP
代码网站如何防范SQL
注入
漏洞
攻击
建议分享
黑客通过SQL
注入
攻击
可以拿到网站
数据库
的访问权限,之后他们就可以拿到网站
数据库
中所有的数据,恶意的黑客可以通过SQL
注入
功能篡改
数据库
中的数据甚至会把
数据库
中的数据毁坏掉。做为网络开发者的你对这种黑客行为恨之入骨,当然也有必要了解一下SQL
注入
这种功能方式的原理并学会如何通过代码来保护自己的网站
数据库
。今天就通过
PHP
和MySQL
数据库
为例,分享一下我所了解的SQL
注入
攻击
和一些简单的防范措施和一些如何避免SQL
注入
攻击
的建议。 什么是SQL
注入
(SQL Injection)? 简单来说,SQL
注入
是使用代码漏洞来获取网站或应用程序后台的SQL
数据库
中的数据,进而可以取得
数据库
的访问权限。比
mysqli预处理编译的深入理解
记得以前
php
点点通也写过mysqli的预处理的
php
教程,那时候只是看书乱写的,没懂原理,数月过后,突然明白了很多: 想想看。假如我们要插入很多1000个用户,你怎么做,for循环?还是mysqli处理多条sql? no!这些处理很慢的,
php
里面
有很多操作mysql
数据库
的函数,无非是把sql语句传递给mysql
数据库
,真正处理sql语句的是mysql,mysql
数据库
是要编译sql语句进行执行的,上面这两种操作会对相同的sql语句进行多次编译,有这必要吗?程序员总是很聪明的,于是有了mysqli预处理技术!mysqli还能
防止
sql
注入
攻击
! 看看下面这个预编译代码: 代码如下: <?
网站mysql
防止
sql
注入
攻击
3种方法总结
mysql
数据库
一直以来都遭受到sql
注入
攻击
的影响,很多网站,包括目前的PC端以及手机端都在使用
php
+mysql
数据库
这种架构,大多数网站受到的
攻击
都是与sql
注入
攻击
有关,那么mysql
数据库
如何
防止
sql
注入
呢?下面我们SINE安全技术针对于这个sql
注入
问题总结3种方案去
防止
sql
注入
攻击
。 sql
注入
产生的原因很简单,就是访问用户通过网站前端对网站可以输入参数的地方进行提交参数,...
SQL
注入
攻击
讲解及
PHP
防止
SQL
注入
攻击
的几种方法
本文章向大家介绍什么是SQL
注入
攻击
,以及在
php
网站开发中,如何
防止
SQL
注入
攻击
。
PHP
防止
SQL
注入
攻击
有三种常用方法,第一种方法是使用
PHP
转义字符串mysql_real_escape_string()函数,第二种方法是使用mysqli的prepare语句,第三种方法是使用PDO。
基础编程
21,882
社区成员
140,366
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章