问题描述
我有一个PHP脚本,应该可以抓取数据库,并且我不希望该数据库被公开访问。我该怎么做,以致无法像https://example.com/database.file
一样查看文件,但PHP文件仍然可以抓取它。
上次我尝试禁用对该文件的访问,但是每次我尝试访问该文件时,PHP文件都返回403。
接下来,我在此网站上查看了两个问题,但没有一个可以回答我的问题。
解决方法
您可以在apache / nginx中为文件设置重定向条件以拒绝外部使用。
在Apache中:
<FilesMatch "^(database\.file)$">
Require all denied
</FilesMatch>
在Nginx中:
location = /database.file {
deny all;
return 404;
}
,
如果要隐藏文件,则IMO最简单的方法是通过重写URL重定向到404文件(“找不到文件”页面)。
类似:
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
Integer n = sc.nextInt();
ArrayList<Integer> li = new ArrayList<Integer>();
while(true){
System.out.println("Please enter coin value: ");
li.add(sc.nextInt());
System.out.println("Do you want to add more yes/no?");
String answer = sc.next();
if (answer.equals("no")){
break;
}
}
Integer arr[] = new Integer[li.size()];
arr = li.toArray(arr);
}
URL重写不会影响直接包含文件系统结构的PHP包含/要求或RewriteRule "^folder/myFile\.php$" "404.html" [QSA,L]