Workerman ialah rangka kerja pengaturcaraan rangkaian tak segerak PHP berprestasi tinggi untuk komunikasi masa nyata dan senario pemprosesan konkurensi tinggi. Perlindungan keselamatan adalah bahagian penting dalam mana-mana reka bentuk aplikasi kaedah pelaksanaan perlindungan keselamatan Workerman terutamanya yang berikut akan memperkenalkan secara terperinci dan memberikan contoh kod.
SQL injection merujuk kepada penyerang yang menyuntik kod SQL berniat jahat ke dalam aplikasi untuk melakukan operasi haram pada pangkalan data atau mendapatkan maklumat sensitif. Dalam Workerman, kita boleh menggunakan pernyataan PDO yang disediakan untuk menghalang serangan suntikan SQL. Iaitu, gunakan ruang letak dalam program untuk menggantikan parameter dalam pernyataan SQL yang disambung secara dinamik.
Berikut ialah contoh kod menggunakan kenyataan yang disediakan PDO:
<?php //连接数据库 $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); //准备SQL语句,使用?作为占位符 $stmt = $dbh->prepare('SELECT * FROM user WHERE username = ? AND password = ?'); //执行SQL语句,传入参数数组 $stmt->execute(array($username, $password)); //遍历结果集 while ($row = $stmt->fetch()) { //处理数据 } ?>
Serangan XSS merujuk kepada penyerang yang mencuri atau mengganggu maklumat sensitif pengguna dengan memasukkan kod skrip berniat jahat ke dalam aplikasi. Dalam Workerman, kita boleh menggunakan fungsi htmlentities() untuk melepaskan semua aksara khas yang dimasukkan oleh pengguna ke dalam entiti HTML, sekali gus menghalang kod skrip berniat jahat daripada dilaksanakan.
Berikut ialah contoh kod menggunakan fungsi htmlentities():
<?php function safe_echo($text) { return htmlentities($text, ENT_QUOTES, 'UTF-8'); } //输出用户输入的内容 echo "Your comment: " . safe_echo($_POST['comment']); ?>
Serangan CSRF bermakna penyerang menyerahkan permintaan berniat jahat kepada aplikasi dengan mengeksploitasi mekanisme pengesahan penyemak imbas, di sana pengguna mempunyai Gunakan identiti pengguna untuk melakukan operasi haram. Dalam Workerman, kami boleh menggunakan pengesahan token untuk menghalang serangan CSRF. Iaitu, token yang dijana secara rawak ditambahkan pada setiap borang, dan anda perlu mengesahkan sama ada token itu betul semasa menyerahkan borang. Jika token tidak betul, permintaan ditolak.
Berikut ialah contoh kod menggunakan pengesahan token:
<?php session_start(); //生成随机token $token = md5(rand()); //将token保存到session中 $_SESSION['token'] = $token; //在表单中添加token echo '<form method="post" action="submit.php">'; echo '<input type="hidden" name="token" value="' . $safe_token . '" />'; //其他表单控件 echo '</form>'; //处理表单提交 if ($_SERVER['REQUEST_METHOD'] === 'POST') { //验证token是否正确 if ($_POST['token'] !== $_SESSION['token']) { //token不正确,拒绝请求 die('Invalid token'); } //其他表单数据处理 } ?>
Di atas ialah pengenalan kepada kaedah pelaksanaan perlindungan keselamatan dan contoh kod dalam dokumen Workerman, saya harap ia dapat membantu pembangun melindungi keselamatan aplikasi dengan lebih baik.
Atas ialah kandungan terperinci Kaedah pelaksanaan perlindungan keselamatan dalam dokumen Workerman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!