/ / ob die SQL-Abfrage vor dem Angriff von Googlebots geschützt ist (Google SQL-Injektion) - PHP, MySQL, SQL, Sicherheit, SQL-Injektion

ob die SQL-Abfrage vor dem Angriff von Googlebots geschützt ist (Google SQL-Injektion) - PHP, MySQL, SQL, Sicherheit, SQL-Injektion

Bitte überprüfen Sie, ob meine SQL-Abfrage vor Google-SQL-Angriffen sicher genug ist

<a href="secondpage.php?name=men">men</a>

Der obige Link geht auf die nächste Seite und übergibt die Namensvariable, die als Wert Männer enthält ... Auf der zweiten Seite führe ich meine SQL-Abfrage wie folgt aus.

$lcSearchVal=$_GET["name"];

$lcSearcharr=explode("-",$lcSearchVal);
foreach( $lcSearcharr as $lcSearchWord ){
$lcSearchWord = mysqli_real_escape_string($mysqli, $lcSearchWord);
$lcSearchWord = preg_replace("/%/", "%", $lcSearchWord);
$parts[] = "`Description` LIKE "%".$lcSearchWord."%"";

}


$countsql2="SELECT * FROM xml WHERE  (".implode ("AND",$parts).")";
//print($countsql2);
$countsql3 = mysqli_query($mysqli, $countsql2) or die("Cannot Get Pname Info: (".mysql_error().")");
$androws = mysqli_num_rows($countsql3);

while($row = mysqli_fetch_array($countsql3)) {
$countArray1[] = $row;
}

Bitte überprüfen Sie, ob meine SQL-Abfrage vor der Google-SQL-Injektion sicher ist oder nicht.

Antworten:

0 für die Antwort № 1

Google SQLi-Angriff? Ich denke, Sie haben es nicht verstanden, wenn Google Ihre Website kräuselt und fügt eine Art "bösartige" Zeichen hinzu, die Ihrer Website schaden.

Wie es in Ihrem Code aussieht, filtern Sie Ihre Abfrage nach Verwendung mysqli_real_escape_string.

Wenn Sie mysqli verwenden möchten, um Ihre Zeichenfolge zu umgehen, können Sie Folgendes tun:

$lcSearchVal=$_GET["name"];
$query = $dbConnection->prepare("SELECT * FROM xml WHERE Description LIKE ?");
$query->bind_param("s", $lcSearchVal);

$query->execute();
$result = $query->get_result();
// then run while fetch_assoc() or similar loop to fetch the data.

Grundsätzlich vertrauen Sie niemals dem Benutzer, egal ob Google oder nur ein einfacher Benutzer, immer die Daten überprüfen, da sie manipuliert werden können.

Lesen Sie hier mehr:

http://www.php.net/manual/en/mysqli-stmt.bind-param.php


0 für die Antwort № 2

Zunächst einmal ist es eher unwahrscheinlich, dass die Suchmaschinenbots Ihrer Site durch eine SQL-Injektion Schaden zufügen können. Suchmaschinen-Bots folgen nur Links, die auf anderen Webseiten zu finden sind.

Wenn also tatsächlich eine Suchmaschine passiertBot löst eine schädliche SQL-Injection aus, es muss bereits eine andere Webseite mit einem Link zu Ihrer Website mit der SQL-Injection-Nutzlast gegeben haben, z. G.:

<a href="http://example.com/secondpage.php?name=" evil SQL code …">

Ihr Code sieht jedoch sicher aus.