限制对文件夹php的直接访问
我有一个上传图片的网站。 内容仅可供登录用户查看。(使用非常简单的基于会话的身份验证)。 现在该网站运行良好,但问题是当我通过url栏直接访问images文件夹时,所有图像都变为可用。 我还想限制对文件夹的直接访问,这样会显示一些错误或需要身份验证。 我该怎么做?限制对文件夹php的直接访问,php,authentication,Php,Authentication,我有一个上传图片的网站。 内容仅可供登录用户查看。(使用非常简单的基于会话的身份验证)。 现在该网站运行良好,但问题是当我通过url栏直接访问images文件夹时,所有图像都变为可用。 我还想限制对文件夹的直接访问,这样会显示一些错误或需要身份验证。 我该怎么做? 谢谢。只需在image文件夹中放置一个空index.php,文件就不会通过Web服务器列出。只需在image文件夹中放置一个空index.php,文件就不会通过Web服务器列出。只需在image文件夹中放置一个空index.php,因
谢谢。只需在image文件夹中放置一个空index.php,文件就不会通过Web服务器列出。只需在image文件夹中放置一个空index.php,文件就不会通过Web服务器列出。只需在image文件夹中放置一个空index.php,因此,这些文件不会通过Web服务器列出。只需在图像文件夹中放置一个空的index.php,就不会通过Web服务器列出这些文件。将下面的行放入.htaccess文件中
Options -Indexes
在.htaccess文件中放置以下行
Options -Indexes
在.htaccess文件中放置以下行
Options -Indexes
在.htaccess文件中放置以下行
Options -Indexes
如果要阻止直接访问图像,则必须将图像放在文档根目录之外,或阻止Web服务器提供该文件夹中的图像 然后创建一个php文件,检查用户是否登录,并根据参数提供图像 你可以像这样使用它 或者使用url重写将图像调用代理到php脚本
<?php
if($user->check_login()){
//do some header stuff here like content length and content type
$image = lookup_image_from_parameter($_REQUEST['image']);
readfile('path/to/your/image/folder/not/in/webscope/'.$image);
}else{
die('Access not allowed');
}
如果要阻止直接访问图像,必须将图像放在文档根目录之外,或阻止Web服务器提供该文件夹中的图像
然后创建一个php文件,检查用户是否登录,并根据参数提供图像
你可以像这样使用它
或者使用url重写将图像调用代理到php脚本
<?php
if($user->check_login()){
//do some header stuff here like content length and content type
$image = lookup_image_from_parameter($_REQUEST['image']);
readfile('path/to/your/image/folder/not/in/webscope/'.$image);
}else{
die('Access not allowed');
}
如果要阻止直接访问图像,必须将图像放在文档根目录之外,或阻止Web服务器提供该文件夹中的图像
然后创建一个php文件,检查用户是否登录,并根据参数提供图像
你可以像这样使用它
或者使用url重写将图像调用代理到php脚本
<?php
if($user->check_login()){
//do some header stuff here like content length and content type
$image = lookup_image_from_parameter($_REQUEST['image']);
readfile('path/to/your/image/folder/not/in/webscope/'.$image);
}else{
die('Access not allowed');
}
如果要阻止直接访问图像,必须将图像放在文档根目录之外,或阻止Web服务器提供该文件夹中的图像
然后创建一个php文件,检查用户是否登录,并根据参数提供图像
你可以像这样使用它
或者使用url重写将图像调用代理到php脚本
<?php
if($user->check_login()){
//do some header stuff here like content length and content type
$image = lookup_image_from_parameter($_REQUEST['image']);
readfile('path/to/your/image/folder/not/in/webscope/'.$image);
}else{
die('Access not allowed');
}
带有mod_rewrite的解决方案,可防止直接访问文件
您需要为图像重写规则,请将其放入图像文件夹中的.htaccess文件中:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.+\.jpg)$ img.php?img=$1 [L]
因此,所有jpg请求都将重定向到img.php脚本,该脚本包含您的逻辑:
<?php
//do your check here
$loggedin = true;
if($loggedin){
$remoteImage = $_GET["img"];
$imginfo = getimagesize($remoteImage);
header("Content-type: ".$imginfo['mime']);
readfile($remoteImage);
}
else{
echo "You are not logged in!";
}
?>
如果要添加更多图像类型,请将jpg替换为(jpg | gif | png等)。
PHP脚本应该包含一些检查,以防止读取其他文件等。解决方案使用mod_rewrite防止直接访问文件
您需要为图像重写规则,请将其放入图像文件夹中的.htaccess文件中:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.+\.jpg)$ img.php?img=$1 [L]
因此,所有jpg请求都将重定向到img.php脚本,该脚本包含您的逻辑:
<?php
//do your check here
$loggedin = true;
if($loggedin){
$remoteImage = $_GET["img"];
$imginfo = getimagesize($remoteImage);
header("Content-type: ".$imginfo['mime']);
readfile($remoteImage);
}
else{
echo "You are not logged in!";
}
?>
如果要添加更多图像类型,请将jpg替换为(jpg | gif | png等)。
PHP脚本应该包含一些检查,以防止读取其他文件等。解决方案使用mod_rewrite防止直接访问文件
您需要为图像重写规则,请将其放入图像文件夹中的.htaccess文件中:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.+\.jpg)$ img.php?img=$1 [L]
因此,所有jpg请求都将重定向到img.php脚本,该脚本包含您的逻辑:
<?php
//do your check here
$loggedin = true;
if($loggedin){
$remoteImage = $_GET["img"];
$imginfo = getimagesize($remoteImage);
header("Content-type: ".$imginfo['mime']);
readfile($remoteImage);
}
else{
echo "You are not logged in!";
}
?>
如果要添加更多图像类型,请将jpg替换为(jpg | gif | png等)。
PHP脚本应该包含一些检查,以防止读取其他文件等。解决方案使用mod_rewrite防止直接访问文件
您需要为图像重写规则,请将其放入图像文件夹中的.htaccess文件中:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.+\.jpg)$ img.php?img=$1 [L]
因此,所有jpg请求都将重定向到img.php脚本,该脚本包含您的逻辑:
<?php
//do your check here
$loggedin = true;
if($loggedin){
$remoteImage = $_GET["img"];
$imginfo = getimagesize($remoteImage);
header("Content-type: ".$imginfo['mime']);
readfile($remoteImage);
}
else{
echo "You are not logged in!";
}
?>
如果要添加更多图像类型,请将jpg替换为(jpg | gif | png等)。
PHP脚本应包含一些检查,以防止读取其他文件等。如果有人知道文件名,则不会阻止他们访问文件。谢谢,这是一种解决方案,但如果有人有图像链接,我如何阻止他/她在不登录的情况下查看图像?您可以使用mod_rewrite强制使用php脚本解析图像URL,并检查用户是否登录等。这不会阻止知道文件名的人访问文件。谢谢,这是一种解决方案,但如果有人有图像链接,我如何阻止他/她在不登录的情况下查看图像?您可以使用mod_rewrite强制使用php脚本解析图像URL,并检查用户是否登录等。这不会阻止知道文件名的人访问文件。谢谢,这是一种解决方案,但如果有人有图像链接,我如何阻止他/她在不登录的情况下查看图像?您可以使用mod_rewrite强制使用php脚本解析图像URL,并检查用户是否登录等。这不会阻止知道文件名的人访问文件。谢谢,这是一种解决方案,但如果有人有图像链接,我如何阻止他/她在不登录的情况下查看图像?您可以使用mod_rewrite强制php脚本解析图像URL,并检查用户是否已登录等。htaccess文件应位于图像文件夹中?根文件夹或图像文件夹中。。。如果它在根文件夹中,它将阻止所有没有启动程序文件的文件夹…注意,这只会阻止直接访问文件夹