您可以将图片从文档根目录移到专用目录中,然后通过可访问该目录的应用程序将其传送。每次您的应用生成图像标签时,它还会生成一个短暂的安全令牌,访问特定图像时必须指定该令牌:
很少有人会在正确的时间用正确的图像强行使用正确的令牌,这种可能性很少。至少有可能在“ getImage”中验证令牌:
跟踪应用程序中的所有图像标签,并将记录存储在数据库中,该数据库将随机生成的令牌和图像ID链接到发出请求的用户。然后,“ getImage”操作将对照该数据库检查提供的参数。
生成令牌作为用户ID,图像ID以及一年中当前日期的校验和(MD5,CRC等),并确保混入不可猜测的盐。然后,“ getImage”操作将重新计算校验和,并对照指定的校验和进行校验,以验证用户的访问权限。与第一种方法相比,此方法将产生较少的开销。
PHP示例:
$token = md5($_SESSION['user_id'].' '.$imageID.' '.$SECRET_SALT.' '.date('z'));