Bagaimana cara berkesan menghalang aplikasi PHP daripada suntikan SQL dan serangan XSS?
Dengan perkembangan pesat Internet, keselamatan aplikasi web semakin mendapat perhatian. Antaranya, suntikan SQL dan serangan XSS adalah kelemahan keselamatan biasa, membawa risiko keselamatan yang serius kepada aplikasi Internet. Untuk melindungi keselamatan data pengguna dan kebolehpercayaan aplikasi, kami perlu mencegah serangan ini dengan berkesan. Artikel ini akan memperincikan cara menulis aplikasi selamat dalam PHP untuk mengelakkan risiko suntikan SQL dan serangan XSS.
$stmt = $pdo->prepare('SELECT * FROM users WHERE username = :username'); $stmt->execute([':username' => $username]);
$statement = $pdo->prepare('SELECT * FROM users WHERE username = ?'); $statement->bindParam(1, $username); $statement->execute();
filter_input()
dan filter_var()
, yang boleh digunakan untuk menapis data yang dimasukkan pengguna. filter_input()
和filter_var()
,可以用来过滤用户输入的数据。$clean_username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);
htmlspecialchars()
函数可以进行转义:$clean_text = htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8');
Content-Security-Policy
和X-XSS-Protection
header("Content-Security-Policy: script-src 'self'"); header("X-XSS-Protection: 1; mode=block");
Escape input pengguna: Sebelum memaparkan input pengguna pada halaman web, ia perlu dilepaskan, menggantikan aksara HTML khas dengan entiti HTML . Contohnya, melarikan diri boleh dilakukan menggunakan fungsi htmlspecialchars()
:
setcookie("session_id", $session_id, time()+3600, "/", "", true, true);
Content-Security-Policy
dan X - Pengepala HTTP seperti XSS-Protection
boleh meningkatkan lagi keselamatan halaman web dan menyekat pemuatan dan pelaksanaan skrip luaran. 🎜🎜rrreee🎜🎜Gunakan Kuki HTTP sahaja: Menyimpan maklumat pengguna sensitif dalam Kuki HTTP sahaja boleh menghalang serangan XSS daripada mendapatkan maklumat ini. 🎜🎜rrreee🎜Ringkasnya, dengan menggunakan pernyataan yang disediakan, pertanyaan berparameter dan pengesahan input, serangan suntikan SQL boleh dicegah dengan berkesan. Pada masa yang sama, serangan XSS boleh dicegah dengan berkesan dengan melepaskan input pengguna, menetapkan pengepala HTTP yang betul dan menggunakan kuki HTTP sahaja. Semasa menulis aplikasi PHP, pastikan anda membangunkan tabiat pengekodan selamat yang baik untuk melindungi keselamatan data pengguna. 🎜Atas ialah kandungan terperinci Bagaimana cara berkesan menghalang aplikasi PHP daripada suntikan SQL dan serangan XSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!