PHP est un langage de script côté serveur largement utilisé, et les mesures de sécurité pour son packaging et son déploiement sont cruciales. Dans cet article, je présenterai plusieurs mesures de sécurité courantes pour le déploiement de packages PHP et fournirai quelques exemples de code associés.
chmod 750 php_script.php
Cela rendra le script lisible, inscriptible et exécutable uniquement par le propriétaire et les utilisateurs du groupe. Pour les fichiers de configuration contenant des informations sensibles, il est préférable de définir leurs autorisations sur un mode plus restrictif, tel que :
chmod 600 config.php
Cela permettra uniquement au propriétaire de lire et d'écrire le fichier, et aucun autre utilisateur n'y aura accès.
Exemple :
fichier config.php :
<?php define('DB_HOST', 'localhost'); define('DB_USERNAME', 'username'); define('DB_PASSWORD', 'password'); ?>
fichier index.php :
<?php include('config.php'); // 使用DB_HOST、DB_USERNAME和DB_PASSWORD进行数据库连接 $db = new PDO('mysql:host='.DB_HOST.';dbname=mydatabase', DB_USERNAME, DB_PASSWORD); ?>
Exemple :
<?php $username = $_POST['username']; $password = $_POST['password']; // 对用户输入进行过滤和验证 $username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING); $password = filter_input(INPUT_POST, 'password', FILTER_SANITIZE_STRING); // 使用过滤后的用户输入进行登录验证 // ... ?>
Exemple :
<?php // 错误的使用方式,可能存在文件包含漏洞 include($_GET['file']); // 正确的使用方式,对文件路径进行验证 $file = $_GET['file']; if (is_file($file) && !strpos($file, '..')) { include($file); } else { echo 'Invalid file'; } ?>
<?php // 开启所有错误报告 error_reporting(E_ALL); // 将错误显示在屏幕上 ini_set('display_errors', 1); // 将错误记录到日志文件中 ini_set('log_errors', 1); ini_set('error_log', '/var/log/php_errors.log'); ?>
Vous trouverez ci-dessus plusieurs mesures de sécurité courantes pour les déploiements packagés PHP. Bien entendu, d’autres mesures de sécurité peuvent être prises, en fonction des besoins du projet et de la situation réelle. Quoi qu’il en soit, il est crucial de veiller à ce que des mesures de sécurité appropriées soient prises lors du déploiement pour protéger votre application contre les attaques et vulnérabilités potentielles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!