Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.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与html与';img src';_Php_Performance_Image_Src - Fatal编程技术网

使用php与html与';img src';

使用php与html与';img src';,php,performance,image,src,Php,Performance,Image,Src,我正在显示一个图片库,为了安全起见,我将其存储在根目录下。每个jpeg都有缩略图。显示库时,我已成功设置 <img src='./php/getfile.php?file=xyz-thumb.jpg'></a> 基于您上面的评论,我认为这听起来是一种非常低效的方法,主要是因为它停止了正常的缓存。如果有人可能会自动抓取您的全尺寸图像,那么他们会找到解决方法(例如Selenium RC) 如果你唯一担心的是有人刮掉图像,那么就使用另一种解决方案。以下是一些其他解决方案:

我正在显示一个图片库,为了安全起见,我将其存储在根目录下。每个jpeg都有缩略图。显示库时,我已成功设置

<img src='./php/getfile.php?file=xyz-thumb.jpg'></a>

基于您上面的评论,我认为这听起来是一种非常低效的方法,主要是因为它停止了正常的缓存。如果有人可能会自动抓取您的全尺寸图像,那么他们会找到解决方法(例如Selenium RC)

如果你唯一担心的是有人刮掉图像,那么就使用另一种解决方案。以下是一些其他解决方案:


蜜罐是一种非常常见的实现。

根据您上面的评论,我认为这听起来是一种非常低效的实现方式,主要是因为它停止了正常的缓存。如果有人可能会自动抓取您的全尺寸图像,那么他们会找到解决方法(例如Selenium RC)

如果你唯一担心的是有人刮掉图像,那么就使用另一种解决方案。以下是一些其他解决方案:


蜜罐是一种非常常见的实现。

任何涉及PHP的东西都会对性能产生明显的影响,尤其是当您检查数据库以验证登录凭据时

您可以通过设置正确的缓存头等来改进代码,但实际上最好的解决方案是让apache将图像作为静态文件提供。Apache在服务静态文件方面非常出色,您永远不会制作一个像Apache一样工作的PHP脚本

为静态文件提供合理安全性的一种方法是在URL中放入一个非常长的随机字符串。因此,不是:

./php/getfile.php?file=xyz-thumb.jpg
将此用作URL:

./files/usBmN5CssIL47qRroC77n90juaQoREThBbFZUddGneEH5jOuX6JpU5cH6zH1Xa5-thumb.jpg
并确保目录索引被禁止(因此用户不能只访问
/files/

有了这么长的随机文件名,即使黑客能够每秒猜出10亿个URL,在他们猜出所有可能的URL之前,宇宙早就结束了

如果您担心搜索引擎/etc在其他安全漏洞之后会以某种方式索引文件URL,那么您可以将所有文件放在另一个随机名称的目录中,并定期更改此目录的名称(可能每天,可能每10分钟一次)。在这种情况下,您应该在重命名旧URL后将其保留一段短时间(可能带有指向新目录名的符号链接?)


乍一看,这听起来可能不如检查用户的登录凭据那么安全。但实际上,像这样的随机文件名比任何用户名/密码都要安全得多。

任何涉及PHP的内容都会对性能产生明显的影响,尤其是当您检查数据库以验证登录凭据等时

您可以通过设置正确的缓存头等来改进代码。但实际上,最好的解决方案是让apache将图像作为静态文件提供服务。apache非常擅长提供静态文件,您永远无法制作出一个与apache一样工作的PHP脚本

为静态文件提供合理安全性的一种方法是在URL中放入一个非常长的随机字符串。因此,不要:

./php/getfile.php?file=xyz-thumb.jpg
将此用作URL:

./files/usBmN5CssIL47qRroC77n90juaQoREThBbFZUddGneEH5jOuX6JpU5cH6zH1Xa5-thumb.jpg
并确保目录索引被禁止(因此用户不能只访问
/files/

有了这么长的随机文件名,即使黑客能够每秒猜出10亿个URL,在他们猜出所有可能的URL之前,宇宙早就结束了

如果您担心搜索引擎/etc在其他安全漏洞之后会以某种方式索引文件URL,那么您可以将所有文件放在另一个随机名称的目录中,并定期更改此目录的名称(可能每天,可能每10分钟一次)。在这种情况下,您应该在重命名旧URL后将其保留一段短时间(可能带有指向新目录名的符号链接?)


乍一看,这听起来可能不如检查用户的登录凭据安全。但实际上,像这样的随机文件名比任何用户名/密码都要安全得多。

将缩略图存储在web根目录下并使用php提供安全性是什么?安全性是针对全尺寸图像的。保留根目录下的缩略图便于将它们保存在同一目录中。否则,我必须复制完整大小的图像的复杂目录结构。我有数百个图像分组到多个目录中。Php编码器,您可以将图像返回给您想要的用户,这不会阻止复制,只是未经授权的查看,以改进通过这种方式查看您可以添加cachingI我假设图像必须一次查看一个,右键单击并保存。如果它们完全可见,我担心有人能够自动复制它们。如果这是过度偏执或无效,我很高兴听到这不值得付出努力或性能影响。是吗正常、未经授权的用户只需点击一个链接,即可在任何时候向他们展示完整大小的图像?如果是,那么通过PHP为他们提供服务就毫无意义,因为他们是可公开访问的。如果一个可公开访问的URL指向完整大小的图像,无论你在幕后挥手多少次,这是所有客户端都关心的。将缩略图存储在web根目录下并使用php为其提供服务提供了什么安全性?安全性是针对完整大小的图像。将缩略图保存在根目录下的唯一原因是方便将其保存在同一目录中。否则,我必须复制一个复杂的目录结构或者是全尺寸的图片。我有数百张图片被分成许多目录。Php编码器,你可以将图片返回给你想要的用户,它不会阻止复制只是未经授权的查看,为了改进这种查看方式,你可以添加cachingI,假设图片