【发布时间】:2017-06-21 21:13:51
【问题描述】:
我有一组使用患者姓名存储的牙科照片,我想在网页上显示这些照片 - 当然要减去患者的信息。这一切都将在密码保护区域中,但我意识到,如果有人检查了该元素,它就会有照片的路径,其中包含他们的名字。
我使用了这篇文章中的代码:https://stackoverflow.com/a/35724642/3025534,这给了我回报:
/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);
?>
然后我可以通过执行<img src="image.php?file=/pics/O/Patient Name1/DSC_0338.JPG"> 之类的操作来引用该文件,但我只是破坏了混淆它的目的。
如何循环显示一组文件,以画廊类型格式一次显示多个文件(不仅仅是集中在页面的开头或结尾),同时仍然隐藏源?
我应该提一下,文件名/目录名中会有空格。这不是我的组织结构,所以我无法从源头更改它——它是增量备份的一部分,因此我无法在服务器上更改它。
【问题讨论】:
-
如果只是你费心展示它们,那么你应该隐藏源代码。
-
如果您在美国,您需要放弃一切并聘请 HIPAA 顾问。可公开访问的患者照片是一个重大的潜在违规行为。
-
他希望能够在牙科大会上向他人展示他正在做的事情。混淆是为了以防他曾经想通过电话这样做,而另一个人有能力检查来源。
标签: php