我需要一些方法来保护我自己的php管理面板。我在这里读到了一些:
但每个人都有问题。 如果我想用apache2.conf做,我也必须使用ssl。只有这样才安全吗?
如果我上传其他域中的工具并使用robots.txt“隐藏”它们,有人可以找到它们吗?
使用chmod就像“非专业”
您使用什么来保护管理面板?
答案 0 :(得分:1)
但每个人都有问题。如果我想用apache2.conf来做,我 也必须使用ssl。只有这样才安全吗?
排序。如果您不使用ssl,如果有人正在收听您的通信,则密码将通过网络未加密发送,他们将知道密码。话虽这么说,通常不可能有人倾听你与服务器的通信,除非其中一个参与方已经被攻陷,或者你正在通过不安全的媒体如未加密的公共wlan进行通信。
如果我上传其他域中的工具并使用robots.txt“隐藏” 他们,有人能找到他们吗?
是的,如果他们猜到了网址。 robots.txt只会隐藏你的搜索引擎,但不可以保护您的管理面板免受不必要的访问。
使用chmod就像“非专业”
不安全。这意味着无论何时您在管理面板上工作,其他人也都可以。不要这样做。
你用什么?
使用SSL通过Apache(通过全局配置或.htaccess文件)访问控制。一开始设置可能有点痛苦,但对于给定的问题,它确实是唯一有意义的选择。
答案 1 :(得分:0)
您可以使用的PHP类需要您登录或注册您的网站。你可以快速找到很多Google。
然后,您应该在您的网站上创建一个API,只有在您通过身份验证后才会发回数据。这是一个从MySQL数据库中读取数据的示例:
<?php
require_once $_SERVER["DOCUMENT_ROOT"] . "/includes/accounts.class.php"; //Change this to the path to your authentication script
header("Content-Type: application/json"); //Important if you're using json
$account = new Accounts(); //A fictional Accounts class is opened
$json = array();
if (!$account->authenticated or $account->rights != "administrator") { //Ask the class if the user is not an admin
$json = array(
"error" => "Not an administrator"
);
} else {
$query = mysqli_query($link, "SELECT * FROM example"); //Assuming you use mysqli and there's a table called example
if (!$query or mysqli_num_rows($query) < 1) {
$json = array(
"error" => "Query returned no results"
);
} else {
while ($row = mysqli_fetch_array($query)) { //Read the data from the table
$json[] = $row;
}
}
}
echo json_encode($json); //Send the data as a json string
请记住,上面的代码只是您如何使用此类脚本的示例。您需要修改它以使用您正在使用的类和数据库。 现在,您可以创建自己的内部程序,登录并查询API中的数据。这可以是在内部服务器,Windows程序或智能手机应用程序上运行的网站。它需要做的就是在网页上的日志中填写表单,然后向上面的脚本发送HTTP请求并解码json结果。