我添加了一个htpasswd.txt到sites-avaiable / default来保护我的网站:
<?php
require_once('config.php');
/* require the user as the parameter */
$posts = array();
if(isset($_REQUEST['roll']))
{
$posts = array();
/* soak in the passed variable or set our own */
$roll = $_REQUEST['roll']; //no default
/* grab the posts from the db */
if($roll!="")
{
if($roll=="All")
{
$query = "SELECT * FROM STUDENT";
}
else
{
$query = "SELECT * FROM `STUDENT` WHERE roll = '$roll'";
}
$result = mysql_query($query,$dblink) or die('Errant query: '.$query);
if(!$result)
{
$posts[] = array('status'=>'Roll Not Found');
}
else
{
/* create one master array of the records */
if(mysql_num_rows($result))
{
while($post = mysql_fetch_assoc($result))
{
$posts[] = array('student'=>$post);
}
}
else
{
$posts[] = array('status'=>'Roll not Found');
}
}
}
else
{
$posts[] = array('status'=>'Roll Should Not be Null');
}
/* disconnect from the db */
@mysql_close($db);
}
else
{
$posts[] = array('status'=>'Please send Valid Argument');
}
/* output in necessary format */
header('Content-type: application/json');
echo json_encode(array('posts'=>$posts));
?>
现在我试图删除它,我无法摆脱我之前设置的.htpasswd保护。我已尝试过在我的网站根目录中创建.htaccess以满足任何like this post suggests和this,以及从我的sites-available / default文件中删除对htpasswd.txt的引用,以及重新安装nginx。我无法找到这个htpasswd文件被引用的地方,因为似乎没有什么可以摆脱它。最后,我尝试删除了htpasswd.txt文件,这只是打破了登录。
我希望整个网站都没有htpasswd。
我还进行了一次grep搜索,以确定是否正在调用htpasswd文件,并且它无处可寻。我该怎么办?
答案 0 :(得分:1)
我建议任何有这样一个问题的人,包括无法通过大量工作后无法解决的未知问题:转到您的服务器(在我的情况下是数字海洋)并创建一个新的(拍摄服务器的快照以应用于您的新IP)您网站的IP / Droplet。卸载服务器引擎(Nginx或Apache)并在新服务器/ IP上重新安装。这有点烦人,但至少你不会像我一样被困住几天。多数民众赞成我如何解决它。此外,不要绝望,你会弄清楚。
答案 1 :(得分:0)
该文件是/ tmp目录中的一个隐藏文件,用于查看该目录中的所有隐藏文件,转到:
的/ tmp
然后执行命令
ls -al
这将显示该文件夹中的所有隐藏文件以及权限。
要删除该文件,请执行以下操作:
rm -rf .htpasswd.txt
小。在文件前面表示它是一个隐藏文件,查看隐藏文件的标志是ls -a
希望有所帮助
答案 2 :(得分:0)
您的浏览器很可能会缓存所需的身份验证。尝试使用其他浏览器或清除浏览器缓存。