最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP防止sql注入小技巧之sql預處理原理與實現(xiàn)方法分析

 更新時間:2019年12月13日 11:57:31   作者:luyaran  
這篇文章主要介紹了PHP防止sql注入小技巧之sql預處理原理與實現(xiàn)方法,結(jié)合實例形式分析了PHP防止sql注入的sql預處理操作詳細實現(xiàn)與使用方法,需要的朋友可以參考下

本文實例講述了PHP防止sql注入小技巧之sql預處理原理與實現(xiàn)方法。分享給大家供大家參考,具體如下:

我們可以把sql預處理看作是想要運行的 SQL 的一種編譯過的模板,它可以使用變量參數(shù)進行定制。

我們來看下它有什么好處:

  • 預處理語句大大減少了分析時間,只做了一次查詢(雖然語句多次執(zhí)行)。
  • 綁定參數(shù)減少了服務器帶寬,你只需要發(fā)送查詢的參數(shù),而不是整個語句。
  • 預處理語句針對SQL注入是非常有用的,因為參數(shù)值發(fā)送后使用不同的協(xié)議,保證了數(shù)據(jù)的合法性。

這種預處理呢,可以通過兩個方式,咱們這次要說的是mysqli。它任何時候都可以確保應用程序可以用相同的數(shù)據(jù)訪問模式,比PDO要更加實用。

預處理呢,它有兩種語句,一種是dml語句,另一種是dql語句。咱們先來看第一種:

<?php
header('Content-type:text/html;charset=utf-8');
$mysqli = new mysqli("127.0.0.1","root","root","test");
$mysqli->query('set names utf8');
$insert = $mysqli->prepare("insert admins (title,cookies,sta,lid) values (?,?,?,?)");
$title = "cuijinpeng";
$cookies = "luyaran201314";
$sta = "1";
$lid = 1;
$insert->bind_param("sssi",$title,$cookies,$sta,$lid);
$res = $insert->execute();
if($res){
  echo 1;
}else{
  echo $insert->error;
  echo 0;
}
$insert->close();
$mysqli->close();

第二種呢,代碼如下:

<?php
header('Content-type:text/html;charset=utf-8');
$mysqli = new mysqli("127.0.0.1","root","root","test");
$mysqli->query('set names utf8');
$select = $mysqli->prepare("select id,title,cookies,sta,lid from admins where id > ?");
$id = "1";
$select->bind_param("i",$id);
$select->bind_result($id,$title,$cookies,$sta,$lid);
$select->execute();
while ($select->fetch()) {
  echo $id."---".$title."---".$cookies."---".$sta."---".$lid."<br>";
}
$select->close();
$mysqli->close();

接下來,咱們就該看下這兩種語句分別支持什么樣子的sql了。

第一種呢,它支持insert、update、delete這三種類型的sql,第二種嘞,就是查詢語句了。

完事那個bind_param里的那個i,就是咱們傳入?yún)?shù)的類型了,具體介紹如下:

  • i - integer(整型)
  • d - double(雙精度浮點型)
  • s - string(字符串)
  • b - BLOB(binary large object:二進制大對象)

我們傳入的每個參數(shù)都需要指定類,這樣通過告訴數(shù)據(jù)庫參數(shù)的數(shù)據(jù)類型,可以降低 SQL 注入的風險。

好啦,本次記錄就到這里了。

更多關于PHP相關內(nèi)容感興趣的讀者可查看本站專題:《php程序設計安全教程》、《php安全過濾技巧總結(jié)》、《PHP運算與運算符用法總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家PHP程序設計有所幫助。

相關文章

  • php PDO屬性設置與操作方法分析

    php PDO屬性設置與操作方法分析

    這篇文章主要介紹了php PDO屬性設置與操作方法,結(jié)合實例形式分析了php pdo常見屬性功能及相關的設置、獲取操作技巧,需要的朋友可以參考下
    2018-12-12
  • 刷新PHP緩沖區(qū)為你的站點加速

    刷新PHP緩沖區(qū)為你的站點加速

    這篇文章主要介紹了通過刷新PHP緩沖區(qū)可以加速你的站點,非常實用的小技巧,需要的朋友可以參考下
    2015-10-10
  • php 安全過濾函數(shù)代碼

    php 安全過濾函數(shù)代碼

    php 安全過濾函數(shù)代碼,防止用戶惡意輸入內(nèi)容。
    2011-05-05
  • 原生JS實現(xiàn)Ajax通過POST方式與PHP進行交互的方法示例

    原生JS實現(xiàn)Ajax通過POST方式與PHP進行交互的方法示例

    這篇文章主要介紹了原生JS實現(xiàn)Ajax通過POST方式與PHP進行交互的方法,涉及ajax使用post方式與后臺交互及php數(shù)據(jù)接收、處理、查詢數(shù)據(jù)庫等相關操作技巧,需要的朋友可以參考下
    2018-05-05
  • PHP實現(xiàn)的簡易版圖片相似度比較

    PHP實現(xiàn)的簡易版圖片相似度比較

    這篇文章主要介紹了PHP實現(xiàn)的簡易版圖片相似度比較,本文直接給出實現(xiàn)代碼,使用方法請看代碼中的注釋,需要的朋友可以參考下
    2015-01-01
  • php實現(xiàn)以只讀方式打開文件的方法

    php實現(xiàn)以只讀方式打開文件的方法

    這篇文章主要介紹了php實現(xiàn)以只讀方式打開文件的方法,實例分析了php中fopen函數(shù)的功能及使用技巧,需要的朋友可以參考下
    2015-03-03
  • PHP系列學習之日期函數(shù)使用介紹

    PHP系列學習之日期函數(shù)使用介紹

    PHP有非常豐富的庫資源,便于開發(fā)者很容易的處理一些業(yè)務。由于我們在項目中與日期接觸最多,所以今天就從日期函數(shù)入手學習
    2012-08-08
  • CI框架(ajax分頁,全選,反選,不選,批量刪除)完整代碼詳解

    CI框架(ajax分頁,全選,反選,不選,批量刪除)完整代碼詳解

    CodeIgniter 是一個小巧但功能強大的 PHP 框架。這篇文章主要介紹了CI框架(ajax分頁,全選,反選,不選,批量刪除)完整代碼,需要的朋友可以參考下
    2016-11-11
  • 最新評論

    郧西县| 闸北区| 镶黄旗| 从江县| 鹿邑县| 云安县| 宜春市| 常宁市| 共和县| 桐乡市| 龙南县| 长沙县| 金湖县| 论坛| 资阳市| 彭山县| 灌云县| 汾西县| 若尔盖县| 定远县| 南和县| 武穴市| 蛟河市| 康定县| 黔南| 万年县| 威海市| 波密县| 洮南市| 平度市| 云龙县| 兰西县| 大埔县| 堆龙德庆县| 桐柏县| 梓潼县| 镇坪县| 共和县| 万山特区| 平顺县| 宜兴市|