Untuk memastikan keselamatan kod fungsi PHP, adalah disyorkan untuk mengikuti amalan terbaik berikut: mengesahkan input pengguna, mengekod data output, mengehadkan pelaksanaan fungsi, melumpuhkan fungsi yang tidak diperlukan, menggunakan pertanyaan berparameter dan menggunakan rangka kerja keselamatan. Dalam kes praktikal, apabila mengesahkan nama yang diserahkan oleh pengguna, input perlu ditapis dan formatnya disahkan untuk mengelakkan suntikan kod berniat jahat.
Cara memastikan keselamatan kod fungsi PHP
Dalam pembangunan PHP, memastikan keselamatan kod fungsi adalah penting. Berikut ialah beberapa amalan terbaik untuk membantu memastikan kod anda tidak boleh dieksploitasi secara berniat jahat:
Pengesahan Input
Sahkan input pengguna untuk menghalang suntikan SQL, skrip merentas tapak (XSS) dan serangan lain. Kaedah berikut boleh digunakan:
Contoh:
$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
Pengekodan Output
Ekodkan data output untuk mengelakkan serangan XSS. Kaedah berikut boleh digunakan:
Contoh:
echo htmlspecialchars($output);
Lumpuhkan ciri yang tidak perlu
Lumpuhkan ciri PHP yang tidak perlu seperti allow_url_fopen() dan allow_url_include() untuk mengurangkan permukaan serangan.Contoh:
set_time_limit(30); ini_set('memory_limit', '128M');
Gunakan pertanyaan berparameter
Gunakan pertanyaan berparameter dan bukannya gabungan rentetan untuk melaksanakan pertanyaan pangkalan data untuk mengelakkan serangan suntikan SQL.Contoh:
ini_set('allow_url_fopen', 'Off'); ini_set('allow_url_include', 'Off');
Gunakan rangka kerja keselamatan
Pertimbangkan untuk menggunakan rangka kerja keselamatan PHP seperti CodeIgniter atau Symfony, yang menyediakan ciri keselamatan dan amalan terbaik di luar kotak.Kes praktikal
Senario: Sahkan nama yang dihantar oleh pengguna melalui borang.
Kod:
$stmt = $mysqli->prepare("SELECT * FROM users WHERE name = ?"); $stmt->bind_param('s', $name); $stmt->execute();
Atas ialah kandungan terperinci Bagaimana untuk memastikan keselamatan kod fungsi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!