bubifengyun 2015-11-25 09:14:16 4243次浏览 4条评论 0 1 0

参考:

当你想显示一些照片,但是又不想让非授权用户访问到。我想到了如下这种方式来解决。可有更好的方法?

<?php
$image = 'cannot_access_directly.png';

// Read image path, convert to base64 encoding
$imageData = base64_encode(file_get_contents($image));

// Format the image SRC:  data:{mime};base64,{data};
$src = 'data: '.mime_content_type($image).';base64,'.$imageData;

// Echo out a sample image
echo "<img src=\"$src\" alt=\"\" />";
?>
觉得很赞
  • 评论于 2015-11-25 09:54 举报

    不会这么做吧,性能低,应该可以通过nginx配置解决跨域不让访问

    3 条回复
    评论于 2015-11-25 11:59 回复

    如果在Apache下呢,我是菜鸟不是很懂。

    评论于 2015-11-26 13:08 回复

    最好的解决方案就是用第三方的存储, 这些平台上可以设置那些域名和ip可以访问

    评论于 2015-11-26 13:57 回复

    并不是所有的网络都可以存储在第三平台。谢谢啊

  • 评论于 2015-12-01 09:09 举报

    这东西图片一大就不行了,只能少量的存

    1 条回复
    评论于 2015-12-08 18:27 回复

    所以说不是个好的解决方案,期待有更好的。

  • 评论于 2015-12-07 21:52 举报

    .htaccess也可以作访问域名限制规则。

    1 条回复
    评论于 2015-12-08 18:27 回复

    谢谢啊,可以说一下具体怎么做的吗

  • 评论于 2016-01-04 11:38 举报

    楼主要的是用户认证授权访问,跟域名ip没关系吧。用.htaccess重写,把图片请求转发让php来处理,先认证授权再决定是否显示图片。

您需要登录后才可以评论。登录 | 立即注册