所以我正在为我的网站构建一个 GUI 管理区域。我将是唯一一个登录的人,它只会显示来自我的数据库的干净(可打印)信息布局。
这就是我为安全所做的事情。让我知道您是否认为这很好以及我可以如何改进。
- 所有页面上的标题检查
admin == true
或死/重定向 - 因为我家里有一个专用IP,所以我只会在家登录。我制作了所有页面,包括登录表单页面检查我的 IP
$_SERVER['REMOTE_ADDR'];
!= 标头重定向 - 我的登录脚本在文件夹权限中
dir
设置700
。 - 我的登录名和密码总共包含 10 个字母、数字和特殊字符的组合。PW 存储为 SHA2 HASH
- 我的登录脚本检查
regex
之前sql
和我的凭据存储在单独的管理表中 - 整个网站都在 SSL 上。
那么这安全吗?我可以做更多吗?这是矫枉过正吗?请分享您的意见和建议(尤其是关于我的 IP 检查。可以绕过吗?)
用于转义不良数据 - 与regex
每个字段一起使用
function escape_data ($data) {
if (function_exists(‘mysql_real_escape_string’)) {
global $dbc;
$data = mysql_real_escape_string (trim($data), $dbc);
$data = strip_tags($data);
} else {
$data = mysql_escape_string (trim($data));
$data = strip_tags($data);
}
return $data;
}