Php 仅当用户登录时才允许显示图像。
我是PHP/Web开发新手,正在尝试创建一个安全的文件查看器。 我使用一个表单登录PHP会话,该表单检查phpmyadmin数据库中的有效信息 我的问题是如何禁用直接路径访问,但允许用户在登录时查看图像 我尝试了.htaccess文件。我已禁用该路径,但无法确定如何使用它显示图像 一旦我可以显示这些图像,有人对我如何确保只有登录的人才能查看这些图像有什么建议吗 非常感谢Php 仅当用户登录时才允许显示图像。,php,file,.htaccess,session,Php,File,.htaccess,Session,我是PHP/Web开发新手,正在尝试创建一个安全的文件查看器。 我使用一个表单登录PHP会话,该表单检查phpmyadmin数据库中的有效信息 我的问题是如何禁用直接路径访问,但允许用户在登录时查看图像 我尝试了.htaccess文件。我已禁用该路径,但无法确定如何使用它显示图像 一旦我可以显示这些图像,有人对我如何确保只有登录的人才能查看这些图像有什么建议吗 非常感谢 附:第一篇帖子!:)(在其他线程上似乎找不到足够的信息)您应该添加一个PHP脚本,检查用户是否登录,如果是,则输出图像(它是什
附:第一篇帖子!:)(在其他线程上似乎找不到足够的信息)您应该添加一个PHP脚本,检查用户是否登录,如果是,则输出图像(它是什么类型的文件)。你可以用它,那页上有一个详细的例子
if ($userIsLoggedIn) {
$path = realpath($imagePath . '/' . $_GET['filename']);
if (substr($path, 0, strlen($imagePath) + 1) == $imagePath) {
// Check that the user doesn't request ../../../etc/shadow or something
// Add headers
header('Content-Type: image/jpeg');
readfile($imagePath . '/' . $_GET['filename']);
}
}
您可以将文件放置在正常访问之外,并通过PHP访问它们,如下所示:
header('Content-type: '.$type); //$type = 'image/jpeg' but can be other file type
header('Content-Length: ' . filesize($path . $filename));
header('Content-Disposition: attachment; filename=MyFileName.ext');
readfile($path . $filename);
exit();
检查用户是否可以查看此文件,然后如上所示显示它。如果要显示图像,可以放弃内容配置
但请确保在此之前不发送其他数据
您可能指的是MySQL或MariaDB,而不是phpMyAdmin。phpMyAdmin是管理员管理数据库安装的图形工具;另外两个是实际的数据库服务器软件。