Serangan suntikan kod ialah kelemahan keselamatan yang membenarkan penyerang melaksanakan kod hasad pada pelayan web. Serangan ini selalunya dilakukan melalui input data yang dibekalkan pengguna, seperti penyerahan borang atau pertanyaan SQL. PHP menyediakan beberapa fungsi untuk membantu menghalang serangan ini, termasuk mysql_real_escape_string(), htmlentities(), strip_tags(), dan addslashes().
Memasukkan Data ke dalam Pangkalan Data
Apabila memasukkan data yang dibekalkan pengguna ke dalam pangkalan data, adalah penting untuk menggunakan mysql_real_escape_string() untuk melepaskan aksara khas yang boleh digunakan untuk serangan suntikan. Fungsi ini menambah garis miring ke belakang yang diperlukan untuk menghalang kod hasad daripada dilaksanakan.
Memaparkan Data pada Halaman Web
Apabila memaparkan data yang dibekalkan pengguna pada halaman web, ia adalah penting untuk mengelakkan serangan skrip silang tapak (XSS). htmlentities() menukar aksara khas, seperti <, >, dan &, kepada entiti HTML, menjadikannya sebagai teks dan bukannya melaksanakannya sebagai kod.
htmlspecialchars()
htmlspecialchars() hampir sama dengan htmlentities() tetapi mengendalikan set pengekodan aksara yang berbeza. Adalah disyorkan untuk menggunakan htmlspecialchars() untuk tapak web UTF dan htmlentities() untuk tapak web yang menggunakan pengekodan aksara lain.
strip_tags()
strip_tags() mengalih keluar HTML dan PHP tag daripada data yang dibekalkan pengguna. Ini berguna untuk menghalang jenis serangan XSS tertentu, seperti memasukkan skrip berniat jahat.
addslashes()
addslashes() menambahkan backslash pada aksara khas yang perlu melarikan diri dalam pertanyaan pangkalan data. Walaupun sebelum ini disyorkan untuk memasukkan pangkalan data, kini disyorkan untuk menggunakan fungsi escape khusus DBMS sebaliknya, seperti mysqli_real_escape_string() untuk MySQL.
Atas ialah kandungan terperinci Bagaimanakah Fungsi PHP Boleh Membantu Mencegah Serangan Suntikan Kod?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!