Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP模糊图像目录?_Php - Fatal编程技术网

使用PHP模糊图像目录?

使用PHP模糊图像目录?,php,Php,我有一组牙齿照片,它们是用患者的名字存储的,我想在网页上显示,当然不包括患者的信息。这一切都将在一个密码保护区,但我意识到的一件事是,如果有人检查了元素,它将有照片的路径,其中包含他们的名字 我使用了这篇文章中的代码:它还给了我: /pics/O/Patient Name1 |_DSC_0338.JPG |_DSC_0339.JPG |_DSC_0340.JPG /pics/O/Patient Name2 |_DSC_3947.JPG /pics/O/Patient Name3 |_DSC_25

我有一组牙齿照片,它们是用患者的名字存储的,我想在网页上显示,当然不包括患者的信息。这一切都将在一个密码保护区,但我意识到的一件事是,如果有人检查了元素,它将有照片的路径,其中包含他们的名字

我使用了这篇文章中的代码:它还给了我:

/pics/O/Patient Name1
|_DSC_0338.JPG
|_DSC_0339.JPG
|_DSC_0340.JPG
/pics/O/Patient Name2
|_DSC_3947.JPG
/pics/O/Patient Name3
|_DSC_2541.JPG
|_DSC_2542.JPG
现在,数据库中的所有文件名/路径数据都来自于此

我哥哥希望我能设置一个迷你照片库,在“管理”模式下显示患者姓名,但当他想向某人显示时,它会隐藏所有信息

我偶然发现这段代码可以工作,但只适用于一个文件,因为它设置了头:

<?php
    $file = 'your_images.jpg';
    header('Content-Type: image/jpeg');
    header('Content-Length: ' . filesize($file));
    echo file_get_contents($file);
?>

然后,我可以通过执行类似于
的操作来引用该文件,但我刚刚挫败了混淆它的目的

我如何在一个文件数组中循环,一次显示多个文件,以库类型的格式(不只是在页面的开头或结尾集中),同时仍然隐藏源文件


我应该提到,文件名/目录名中会有空格。它不是我的组织结构,因此我无法在源位置更改它-而且它是增量备份的一部分,因此我无法在服务器上更改它。

使用唯一密钥,而不是患者姓名。例如,您可以对患者姓名进行md5哈希,然后:

<img src="image.php?id=1234ABCD987655A5&img=DSC_0338.JPG">

但是,如果您可以“猜测”患者姓名,攻击者就可以生成所需的md5密钥。因此,为每个患者生成一个随机密钥,并将其存储在数据库中。使用它来查找图像


哦,不要将患者数据存储在web上的可访问目录中。

使用唯一键,而不是患者姓名。例如,您可以对患者姓名进行md5哈希,然后:

<img src="image.php?id=1234ABCD987655A5&img=DSC_0338.JPG">

但是,如果您可以“猜测”患者姓名,攻击者就可以生成所需的md5密钥。因此,为每个患者生成一个随机密钥,并将其存储在数据库中。使用它来查找图像


哦,不要将患者数据存储在网络上,存储在网络可访问的目录中。

如果只是为了显示这些数据而麻烦,那么你应该隐藏其来源。如果你在美国,你需要放弃一切并聘请HIPAA顾问。公开获取患者照片是一个主要的潜在漏洞。他希望能够在牙科会议上向其他人展示这些照片,以说明他正在做的事情。这种混淆是为了防止他想通过电话做这件事,而另一个人有能力检查来源。如果只是为了让他们看到你的麻烦,那么你应该隐藏来源。如果你在美国,你需要放下一切,聘请HIPAA顾问。公开获取患者照片是一个主要的潜在漏洞。他希望能够在牙科会议上向其他人展示这些照片,以说明他正在做的事情。混淆是为了防止他想通过电话进行,而另一个人有能力检查源代码。谢谢,所有这些都存储在web根目录之外。这是一个很好的答案-它验证了我现在为类似目的而采取的方法,谢谢!谢谢,所有这些都存储在web根目录之外。这是一个很好的答案-它验证了我现在正在寻找的一种用于类似目的的方法,所以谢谢!