Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Memasukkan Pembolehubah PHP dengan Selamat ke dalam Penyata MySQL untuk Mencegah Suntikan SQL?

Bagaimana untuk Memasukkan Pembolehubah PHP dengan Selamat ke dalam Penyata MySQL untuk Mencegah Suntikan SQL?

Patricia Arquette
Lepaskan: 2024-12-25 16:47:14
asal
872 orang telah melayarinya

How to Safely Insert PHP Variables into MySQL Statements to Prevent SQL Injection?

Memasukkan Pembolehubah PHP ke dalam Penyata MySQL

Apabila memasukkan pembolehubah PHP dalam pernyataan MySQL, adalah penting untuk memahami peraturan untuk memastikan integriti data dan mencegah potensi kelemahan keselamatan.

1. Gunakan Penyata Disediakan untuk Literal Data

Apakah: Semua pembolehubah PHP yang mewakili literal data SQL (rentetan atau nombor) mesti disertakan melalui pernyataan yang disediakan.

Sebab: Penyataan yang disediakan membersihkan dan melindungi data dengan menghalang suntikan SQL serangan.

Bagaimana:

  • Gantikan pembolehubah dengan ruang letak dalam pertanyaan SQL.
  • Sediakan pertanyaan.
  • Ikat pembolehubah pada pemegang tempat.
  • Laksanakan pertanyaan.

Contoh menggunakan mysqli:

$type = 'testing';
$reporter = "John";
$sql = "INSERT INTO contents (type, reporter, description) VALUES ('whatever', ?, ?)";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("ss", $reporter, $description);
$stmt->execute();
Salin selepas log masuk

Cara menggunakan PDO:

$type = 'testing';
$reporter = "John";
$sql = "INSERT INTO contents (type, reporter, description) VALUES ('whatever', ?, ?)";
$stmt = $pdo->prepare($sql);
$stmt->execute([$reporter, $description]);
Salin selepas log masuk

2. Penapisan Senarai Putih untuk Bahagian Pertanyaan

Apakah: Pembolehubah yang mewakili bahagian pertanyaan lain (kata kunci, pengecam) mesti ditapis melalui "senarai putih" nilai yang dibenarkan.

Sebab: Untuk menghalang pengguna berniat jahat daripada menyuntik bahagian pertanyaan yang tidak dibenarkan atau kata kunci.

Cara:

    Buat senarai nilai yang dibenarkan.
  • Semak pembolehubah terhadap senarai sebelum memasukkannya ke dalam pertanyaan .
  • Formatkan pengecam mengikut sintaks pangkalan data (cth., tanda belakang untuk MySQL).

Contoh:

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Pembolehubah PHP dengan Selamat ke dalam Penyata MySQL untuk Mencegah Suntikan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan