如何访问codeigniter根目录外的文件夹而不在url中传递敏感信息?
我的代码(视图)到目前为止,当我使用根目录访问文件夹(上载)时,一切正常,但我希望使用同一服务器访问位于不同位置的文件夹,而不在加载图像时在url中显示敏感信息如何访问codeigniter根目录外的文件夹而不在url中传递敏感信息?,codeigniter,Codeigniter,我的代码(视图)到目前为止,当我使用根目录访问文件夹(上载)时,一切正常,但我希望使用同一服务器访问位于不同位置的文件夹,而不在加载图像时在url中显示敏感信息 <img src="<?php echo base_url('/uploads/'.$popular_car['img_path'])?>" class="card-img-top" style="height: 150px;"></div> “class=”卡img top“ st
<img src="<?php echo base_url('/uploads/'.$popular_car['img_path'])?>" class="card-img-top"
style="height: 150px;"></div>
“class=”卡img top“
style=“高度:150px;">
有很多选择。大多数都涉及某种数据库使用。这就是我所做的(非常概括)
每个需要访问的文件在表上都有一条记录。该记录有一个主id、一个秘密随机令牌和文件路径。表由主id和令牌索引
在URL上,我得到类似于base\u URL('controller/file\u access/).$id./'.$token
。收到请求后,我会检查文件表,如果两个参数都匹配,我会将文件流式传输到浏览器。这种方式虽然有点复杂,但有两个主要好处:
1.-它防止用户尝试不同的数字ID并查看显示的内容。由于ID是数字且自动递增的,因此您需要做的就是从1循环到100000并下载所有文件。添加令牌并使用这两个参数查询表可大大降低有人获得他/她不打算使用的文件的风险
2.-它模糊了文件的真实位置,因为以这种方式流式传输到浏览器看起来(在浏览器眼中)位于example.com/controller/file\u access/id/token
中,但图像的真实或相对路径仍然是隐藏的,无法从web访问
以此为基础,您可以根据需要在此基础上添加大量逻辑。如果文件是私有的和/或特定于用户的,则表中还可以有一个“allowed_user”字段,以便在不允许用户查看文件(即使他有正确的ID/令牌组合)时,您不会对其进行流式处理
这只是对我在两个站点上所做的粗略的描述。把它作为你可以建立的理论基础。
有很多其他的选择。大部分将涉及某种数据库使用。这就是我所做的(大大总结)
。 每个需要访问的文件在表上都有一条记录。该记录有一个主id、一个秘密随机令牌和文件路径。表由主id和令牌索引 在URL上,我得到类似于base\u URL('controller/file\u access/).$id./'.$token
。收到请求后,我会检查文件表,如果两个参数都匹配,我会将文件流式传输到浏览器。这种方式虽然有点复杂,但有两个主要好处:
1.-它防止用户尝试不同的数字ID并查看显示的内容。由于ID是数字且自动递增的,因此您需要做的就是从1循环到100000并下载所有文件。添加令牌并使用这两个参数查询表可大大降低有人获得他/她不打算使用的文件的风险
2.-它模糊了文件的真实位置,因为以这种方式流式传输到浏览器看起来(在浏览器眼中)位于example.com/controller/file\u access/id/token
中,但图像的真实或相对路径仍然是隐藏的,无法从web访问
以此为基础,您可以根据需要在此基础上添加大量逻辑。如果文件是私有的和/或特定于用户的,则表中还可以有一个“allowed_user”字段,以便在不允许用户查看文件(即使他有正确的ID/令牌组合)时,您不会对其进行流式处理
<>这只是我在几个网站上做的粗略描述。把它作为你可以建立的理论基础。好的问题。有很多方法可以做到这一点。我只是粗略地描述了我是如何解决这个问题的。它有点复杂,但是对于应用程序文件夹之外的MEIS上传文件夹来说,工作得很好。??是的,它实际上位于同一服务器内的不同位置好问题。有很多方法可以做到这一点。我刚刚发布了一篇关于我如何解决相同问题的粗略描述。这有点复杂,但对于放置在应用程序文件夹外的meis上载文件夹来说效果很好??是的,它实际上位于同一服务器内的不同位置