php POD
PHP PDO 是什么?
php数据对象扩展为了php访问数据库定义了一个轻量级的一致接口,PDO提供了一个数据访问抽象层,都可以用相同的方法来查询修改数据库。
预编译 是什么?
预编译是做些代码文本的替换工作。
处理以# 开头的指令 , 比如拷贝 #include 包含的文件代码,#define 宏定义的替换 , 条件编译等,就是为编译做的预备工作的阶段。
主要处理#开始的预编译指令,预编译指令指示了在程序正式编译前就由编译器进行的操作,可以放在程序中的任何位置。
C 编译系统在对程序进行通常的编译之前,首先进行预处理。
预处理语句prepare
预处理语句prepare是pdo提供的一种db操作方式。其语言逻辑与正常的pdo访问相同。但区别于在prepare语句允许用户在【设置sql语句】与【执行sql语句】之间部分进行参数的注入与提取操作,而不是像正常的pdo访问一样直接将参数写死。
例如在sql堆叠注入时,当存在select正则表达式过滤时可采取以下方式绕过
1' ; sEt@a=concat("sel","ect flag from `114514`") ; PRepare aaa from @a ; execute aaa;#