2011-09-03 69 views
1

我需要一些方法来证实我自己的php管理面板。我读到这里的一些:保护我自己的管理面板

  • 使用apache2.conf
  • 使用SSL在一个完全独立的域发送加密的密码
  • 主机的工具一个简单的身份验证
  • 一个适当的robots.txt也应使用
  • 使用chmod 777时,我想用做在chmod 000当我完成

但eachone有问题。 如果我想用apache2.conf来做,我也必须使用ssl。只有这样才能保证安全?

如果我上传其他域中的工具并使用robots.txt来“隐藏”它们,有人可以找到它们吗?

使用chmod是像“非专业

你用什么来保护您的管理员控制面板?

+0

我认为你需要将你的问题改为几个子问题。目前,它应该广泛回答。 – Jacco

+0

更改了这个问题,现在是: 你用什么来保护你的管理面板? –

回答

1

但是每个人都有问题。如果我想用apache2.conf来做,我也必须使用ssl。只有这样才能保证安全?

的排序。如果你不使用ssl,如果有人正在监听你的通信,那么密码将通过网络发送,并且不会被加密。他们将知道密码。也就是说,通常不可能有人倾听您与服务器的通信,除非参与方之一已经被入侵,或者您正在通过不安全的介质(如未加密的公共WLAN)进行通信。

如果我上传的工具在其他领域,并使用robots.txt来“隐藏” 他们,有人可以找到他们吗?

是的,如果他们猜测的URL。 robots.txt只是把你从搜索引擎中隐藏起来,但它的确不是而是可以保护你的管理面板免受不必要的访问。

使用chmod就像是 “非专业”

和不安全。这意味着只要你在管理面板上工作,其他人也可以。不要这样做。

你使用什么?

带有SSL的Apache(通过全局配置文件或.htaccess文件)访问控制。开始建立可能有点痛苦,但对于给定的问题,它确实是唯一有意义的选择。

+0

所以我可以在.htaccess中使用AuthType Basic AuthName“Adm”等等,不是吗?我想我也会使用一个php登录。或者你只使用.htaccess访问控制? –

+0

是的,你可以在.htaccess中使用。保持全局配置清洁;)额外的php登录不会受到影响,尽管通过Apache访问控制的安全性通常很高。 – ComicSansMS

+0

基于Apache htaccess的身份验证是否具有反暴力功能?如果没有,那么豪尔赫将需要安装一个。 –

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结果。

+0

当然,一个登录。我已经拥有了。但SQL注入,蛮力等可以打破它。所以我需要更多的东西。我不认为我可以加入youtube.com/administration,它只是一个登录名,我想他们正在使用更多的东西。不过谢谢你。 –

+0

不客气! – kirb

+0

去天堂?... –