Php 限制每个作者对图像的访问,即使他们有图像url
我为每个用户都有特定的页面,里面没有帖子。我为他们添加了一个表单,用于将图像上载到uploads文件夹,该文件夹将以该用户的唯一名称保存。这很好用 现在我需要限制其他用户通过修改url来查找其他提交的图片。我怎样才能保证这一点Php 限制每个作者对图像的访问,即使他们有图像url,php,wordpress,Php,Wordpress,我为每个用户都有特定的页面,里面没有帖子。我为他们添加了一个表单,用于将图像上载到uploads文件夹,该文件夹将以该用户的唯一名称保存。这很好用 现在我需要限制其他用户通过修改url来查找其他提交的图片。我怎样才能保证这一点 <?php if($_POST) { if (!function_exists('wp_generate_attachment_metadata')){ require_once(ABSPATH . "wp-admin" . '/includ
<?php
if($_POST)
{
if (!function_exists('wp_generate_attachment_metadata')){
require_once(ABSPATH . "wp-admin" . '/includes/image.php');
require_once(ABSPATH . "wp-admin" . '/includes/file.php');
require_once(ABSPATH . "wp-admin" . '/includes/media.php');
}
if($_FILES)
{
foreach ($_FILES as $file => $array)
{
if($_FILES[$file]['error'] !== UPLOAD_ERR_OK){return "upload error : " . $_FILES[$file]['error'];}
$filename=$_FILES[$file]["name"];
$extension=end(explode(".", $filename));
$newfilename=$prod ."something.".$extension;
$_FILES[$file]["name"] = $username . '-' . $newfilename;
$attach_id = media_handle_upload($file,$new_post);
echo wp_get_attachment_url($attach_id);
}
}
}
?>
使用MD5哈希创建图像的名称
$newfilename=MD5($prod ."something").".".$extension;
您将需要在数据库中以blob的形式存储图像,以及用户名和图像名称(作为varchars)。然后编写一个模拟图像文件的php包装文件,并通过图像url查询字符串传递用户凭据以进行验证。访问图像的HTML代码如下所示:
<img src="image.php?imageName=YourImageName&user=JoeBlogg">
它确实增加了一些安全性,但我想知道是否有可能只显示作者上传的图像,而不是仅显示文件名处的安全性。同时我会利用你的想法,谢谢