0

そこで、セキュリティを向上させるために mysqli の使用を開始しようとしましたが、これが現在持っているものです: conectar.php ファイル

<?php
$DBServer = 'X'; // ip o lo que sea
$DBUser   = 'X';
$DBPass   = 'X';
$DBName   = 'X';
 $conn = new mysqli($DBServer, $DBUser, $DBPass, $DBName);

 if ($conn->connect_error) {
 trigger_error('Database connection failed: '  . $conn->connect_error, E_USER_ERROR);
  }
   ?>

そして、次のコードを含む php ファイル:

include("admin/conectar.php");
$categoria = $_GET['categoria'];
if($categoria){
 $query_p = $conn->query("SELECT * FROM `productos` WHERE `categoria` = '$categoria'     ORDER BY nombre ASC");
while($result_p = $query_p->fetch_object()){
$nombre = $result_p->nombre;
$referencia = $result_p->referencia;;
$descripcion = $result_p->descripcion; 
$imagen = $result_p->imagen;

ハッキングや SQL インジェクションを防ぐにはどうすればよいですか?? $categoria の特定の値のみが受け入れられるように配列を設定する必要がありますか? ありがとう!

4

1 に答える 1

0

誰かが GET 変数の値を "DROP TABLE ..." などに変更する可能性があるため、そのような GET 変数を SQL クエリで使用される変数として使用しないでください。コードのセキュリティを向上させるには:

于 2013-07-13T13:26:22.027 に答える