Laravel ialah rangka kerja PHP yang popular Semasa membangunkan aplikasi, anda perlu mengelakkan serangan suntikan SQL untuk memastikan keselamatan data. Artikel ini akan memperkenalkan cara menggunakan Laravel untuk mencegah serangan suntikan SQL.
Sebagai contoh, anggap pernyataan pertanyaan berikut:
SELECT * FROM users WHERE email = '$email';
Kod ini terdedah kepada serangan suntikan SQL. Sebaliknya, gunakan pernyataan Laravel yang disediakan.
$email = Input::get('email'); $users = DB::select('SELECT * FROM users WHERE email = ?', [$email]);
Dalam contoh ini, pemegang tempat? Digantikan dengan nilai awal $email. Kaedah ini boleh digunakan untuk mengelakkan suntikan SQL.
Sebagai contoh, kod berikut boleh mengesahkan sama ada "nama" yang dimasukkan ialah huruf:
$validator = Validator::make($request->all(), [ 'name' => 'alpha', ]);
Apabila pengguna memasukkan aksara bukan huruf, kod ini akan gagal dan kembalikan mesej ralat , dan pertanyaan tidak akan dilaksanakan.
$name = DB::connection()->getPdo()->quote($name);
Kod ini terlepas daripada rentetan $name untuk menghalangnya daripada ditafsirkan sebagai kod SQL.
Ringkasan:
Laravel menyediakan pelbagai kaedah untuk menghalang serangan suntikan SQL, termasuk menggunakan Query Builder dan ORM, penyataan yang disediakan, pengesahan input dan rentetan melarikan diri. Pembangun harus memberi perhatian yang teliti kepada isu keselamatan dan menggunakan teknik ini untuk memastikan keselamatan aplikasi mereka.
Atas ialah kandungan terperinci Bagaimana untuk mengelakkan serangan suntikan SQL dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!