这篇是上一篇 http://www.cnblogs.com/charlesblc/p/5987951.html 的续集. 看有的文章提到mysqli和PDO都支持多重查询,所以下面的url会造成表数据被删. http://localhost:8080/test.php?id=3;delete%20from%20users 可是我在mysql版本的函数,上面的sql都不能执行.是不是不支持多重查询了? 这篇文章 http://www.runoob.com/php/php-mysql-connect…
1.可以访问其它数据库2.具有事务功能3.带有预处理语句功能(防止SQL注入攻击) 访问数据库 PDO::__construct ( string $dsn [, string $username [, string $password [, array $driver_options ]]] ) $dsn = 'mysql:dbname=testdb;host=127.0.0.1' ; 例: <?php //1.造PDO对象 $dsn = "mysql:dbname=mydb;host=…
JDBC:java的数据库连接 JDBC本质是一套API,由开发公司定义的类和接口 这里使用mysql驱动,是一套类库,实现了接口 驱动程序类库,实现接口重写方法,由驱动程序操作数据库 JDBC操作步骤: 1.注册驱动 2.获得连接 3.获得语句执行平台 4.执行sql语句 5.处理结果 6.释放资源 1.导入jar包,可以在网上下载到,这里使用的是:mysql-connector-java-5.1.37-bin.jar 注册驱动: package demo; import java.sql.D…
1.关于SQL注入 什么是SQL注入: 由于jdbc程序在执行的过程中sql语句在拼装时使用了由页面传入参数,如果用户恶意传入一些sql中的特殊关键字,会导致sql语句意义发生变化,这种攻击方式就叫做sql注入,参考用户注册登录案例. 首先看一下以下代码: String sql = "select* from users where username='" + userName + "' and password='" + passWord+"'"…
看到有人说了判断能否sql注入的方法: 简单的在参数后边加一个单引号,就可以快速判断是否可以进行SQL注入,这个百试百灵,如果有漏洞的话,一般会报错. 下面内容参考了这两篇文章 http://blog.csdn.net/stilling2006/article/details/8526458 http://www.aichengxu.com/view/43982 nginx配置文件位置:/usr/local/etc/nginx/nginx.conf 主目录位置:/usr/local/Cellar…
1.安装 PDO 数据库抽象层 PDO - PHP Data Object 扩展类库为 PHP 访问数据库定义了一个轻量级的.一致性的接口,它提供了一个数据访问抽象层,针对不同的数据库服务器使用特定的 PDO 驱动程序访问,如图: Windows 环境下 PHP 5.1 以上版本通过编辑 php.ini文件来安装 PDO:去掉 extension=php_pdo.dll 前面的 ; 如果使用的数据库是 MySQL ,在 php.ini 文件中加载 MySQL 的 PDO 驱动: 添加 exten…
当我们使用传统的 mysql_connect .mysql_query方法来连接查询数据库时,如果过滤不严,就有SQL注入风险,导致网站被攻击,失去控制.虽然可以用mysql_real_escape_string()函数过滤用户提交的值,但是也有缺陷.而使用PHP的PDO扩展的 prepare 方法,就可以避免 sql injection 风险. PDO(PHP Data Object) 是PHP5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的…
[目录] 0x0 前言 0x1 领域驱动的安全 1.1 领域驱动的设计 1.2 领域驱动的安全示例 0x2 使用参数化查询 2.1 参数化查询 2.2 Java中的参数化语句 2.3 .NET(C#)中的参数化语句 2.4 PHP中的参数化语句 2.5 PL/SQL中的参数化语句 0X3 移动应用中的参数化语句 3.1 iOS应用程序中的参数化语句 3.2 Android应用程序中的参数化语句 3.3 HTML浏览器中存储的参数化语句 0x4 输入验证 4.1 白名单 4.2 黑名单 4.3 J…
什么是SQL注入攻击?引用百度百科的解释: sql注入_百度百科: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句.[1]比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表…
public class pr { public static void main(String[] args) { Connection conn = null; Statement st = null; ResultSet rs = null; try { // 加载驱动 // DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver()); 不用这种方法加载,因为源码里面已经有static代码块加载驱动了,直接加载类进内存就行了 C…