- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试保护我的 PHP 图像上传脚本,我必须跨越的最后一个障碍是让用户无法直接执行图像,但服务器仍然可以在网页中提供它们。我尝试更改文件夹的所有权和权限无济于事,因此我尝试将图像存储在 public_html 之上,并将它们显示在存储在 public_html 中的页面中。
我的文件结构:
- userimages
image.jpg
image2.jpg
- public_html
filetoserveimage.html
我尝试像这样链接到 userimages 文件夹中的图像:
<img src="../userimages/image.jpg">
但它不起作用。我在这里缺少什么吗?如果您有任何更好的建议,请告诉我。我试图阻止公共(public)用户执行他们可能上传的具有潜在危险的文件。就像额外的安全措施一样。谢谢!
最佳答案
您想要的东西基本上是不可能的。
浏览器加载页面的方式(在非常基本的意义上)是这样的:
第 1 步:下载页面。第二步:解析页面。第 3 步:下载页面内容中引用的任何内容(图像、样式表、javascript 等)
每个“下载”事件都是原子的。
您似乎只想向刚刚下载了引用这些图像的页面的用户提供图像。
如 PHP Jedi 所示,您可以通过 PHP 传递文件。您可以扩展他的代码,并检查请求中的 HTTP_REFERER 以确保人们不会“只”抓取图像。
现在,通过 PHP passthru 脚本为每个图像提供服务效率不高,但它可以工作。
人们想要这样做的最常见原因是避免“热链接”——当人们在引用您服务器上的图像的其他站点上创建图像标签时。当他们这样做时,您会花费资源来处理显示在其他人页面上的请求。
如果这是您真正想要避免的,您可以使用 mod_rewrite 来检查 referer。
可以找到关于盗链/反盗链的不错的讨论 here
关于php - public_html 上面图片的存储和读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1415973/
我认为这应该不是一个大问题,但我自己找不到解决方案。一如既往:p 我有一个 UIWebView,其背景颜色设置为clearColor,但是当我尝试向下滚动太多时,我会在加载的 HTML 上方看到深灰色
我注意到,每当我重新安装我的应用程序时,IdentifierForVendor 都会不断变化。有没有办法让我的设备拥有相同的标识符?问题是,我需要确保标识符相同,因为我有一个备份系统,即使在删除并重新
一切都在标题中。 我有一个带有单元格的 UITableView。 cells 有一个Shadow (self.layer.shadow...)。 问题是一个单元格的阴影重叠上方的单元格。我怎样才能防止
我正在尝试创建一个切换开关,您可以在其中点击一侧,然后背景会滑过以使该侧“处于事件状态”。 为了适应可变宽度,我使用 display: table 设置了切换的两侧。这很好用。然后,我将第三个 div
我是一名优秀的程序员,十分优秀!