Php 限制每个作者对图像的访问,即使他们有图像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

我为每个用户都有特定的页面,里面没有帖子。我为他们添加了一个表单,用于将图像上载到uploads文件夹,该文件夹将以该用户的唯一名称保存。这很好用

现在我需要限制其他用户通过修改url来查找其他提交的图片。我怎样才能保证这一点

<?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">

它确实增加了一些安全性,但我想知道是否有可能只显示作者上传的图像,而不是仅显示文件名处的安全性。同时我会利用你的想法,谢谢