我正在使用crypt(),在特定情况下使用带有12个字符salt的md5哈希.
以下是从php.net,crypt文档修改的字符串crypt()返回的示例.
$1$rasmusle$rISCgZzpwk3UhDidwX/in0
Run Code Online (Sandbox Code Playgroud)
这是盐,它还包括编码类型.
$1$rasmusle$
Run Code Online (Sandbox Code Playgroud)
这是编码类型.(在这种情况下为MD5)
$1$
Run Code Online (Sandbox Code Playgroud)
最后是哈希值.
rISCgZzpwk3UhDidwX/in0
Run Code Online (Sandbox Code Playgroud)
您不能在文件名中包含正斜杠,因为这将被解释为文件夹.
我应该简单地删除所有正斜杠,还有crypt()使用的字符集的其他问题.
看起来您想要阻止/允许特定用户访问图像.如果是这种情况,我会做以下事情:
sha1_file()哈希存储在同一记录中.如果您的服务器上没有重复的图像,这会增加好处.虽然图像很小,但可以防止系统混乱.使用上述方法,您可以最大程度地控制谁可以请求图像,您的用户将会感谢您.
注意:您不能简单地将所有图像存储在同一文件夹中,因为所有文件系统都限制了可以在单个目录中存储的文件数量
提供图像的PHP脚本的简单示例如下所示:
<?php
// always set the header and change it according to the type of the image
header("Content-type: image/jpeg");
echo file_get_contents('/path/to/the/image.jpg');
Run Code Online (Sandbox Code Playgroud)