开启PHP安全模式可以限制PHP执行代码的权限,使得PHP脚本不能访问其他用户的文件或者执行系统命令等操作。
safe_mode = On
禁用危险函数可以防止PHP代码调用一些危险的函数,例如eval、system等函数。
disable_functions = "eval,system,shell_exec,passthru,exec,popen,proc_open"
mysql扩展已经不再被维护,容易受到SQL注入等攻击,建议使用PDO代替mysql扩展。
$dsn = 'mysql:host=localhost;dbname=test';
$username = 'root';
$password = '';
$options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
);
try {
$pdo = new PDO($dsn, $username, $password, $options);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
过滤用户输入可以防止SQL注入和XSS攻击等安全问题。
$username = $_POST['username'];
$username = htmlspecialchars($username, ENT_QUOTES, 'UTF-8');
$username = mysql_real_escape_string($username);
文件上传是一种常见的安全隐患,对文件上传进行限制可以防止上传恶意文件或者非法文件。
上传文件的类型和大小需要进行限制