Heim > Backend-Entwicklung > PHP-Tutorial > Ist es notwendig, SQL-Injection bei der Entwicklung mit dem TB-Framework zu verhindern? Wie kann man SQL-Injection verhindern? Bitten Sie Gott um Antworten

Ist es notwendig, SQL-Injection bei der Entwicklung mit dem TB-Framework zu verhindern? Wie kann man SQL-Injection verhindern? Bitten Sie Gott um Antworten

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-08-04 09:20:23
Original
1268 Leute haben es durchsucht

Ist es notwendig, SQL-Injection bei der Entwicklung mit dem TB-Framework zu verhindern? Wie kann man SQL-Injection verhindern? Bitten Sie Gott um Antworten

Antwortinhalt:

Ist es notwendig, SQL-Injection bei der Entwicklung mit dem TB-Framework zu verhindern? Wie kann man SQL-Injection verhindern? Bitten Sie Gott um Antworten

Eine einfache Möglichkeit:
Verwenden Sie PDO, um die Datenbank zu betreiben. Verwenden Sie in der auszuführenden SQL-Anweisung: Platzhalter oder? Platzhalter, anstatt Zeichenfolgen direkt zu verbinden, und verwenden Sie dann bindParam, um Parameter zu binden und den Parametertyp anzugeben .
Ein einfaches Beispiel

<code>$pdo = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);//先新建一个PDO
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//开启PDO的报错
$sql = 'SELECT * FROM article WHERE id > ? ;';//使用?占位符
try{
    $stmt = $pdo->prepare(sql);//返回的statment的值赋给$stmt
    $stmt -> bindParam(要绑定的占位符的位置, 要绑定的变量 [, 数据类型]);//bindParam()是$stmt的方法而不是$pdo的方法
    $stmt -> execute();//执行sql语句
} catch (PDOException $e) {
        echo 'Execute SQL failed: ' . $e->getMessage();
        exit();
    }</code>
Nach dem Login kopieren

Parametrierte Abfragen mit mysqli oder pdo

Ob Sie ein Framework oder etwas anderes sind, PDO hat nichts mit Injektion zu tun. Sie versuchen, dies durch Platzhalter und Vorverarbeitung zu verhindern. Tatsächlich kann keines davon einen 100-prozentigen Nutzen erzielen . % Effekt, es ist sicherer, die globale Filterung selbst zu schreiben und SQL-Schlüsselwörter herauszufiltern

Verwandte Etiketten:
php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
PHP-Datenerfassung?
Aus 1970-01-01 08:00:00
0
0
0
PHP-Erweiterung intl
Aus 1970-01-01 08:00:00
0
0
0
Wie man PHP gut lernt
Aus 1970-01-01 08:00:00
0
0
0
Mehrere PHP-Versionen
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage