Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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 只有登录到CMS[SilverStripe]时才允许访问文件_Php_Silverstripe - Fatal编程技术网

Php 只有登录到CMS[SilverStripe]时才允许访问文件

Php 只有登录到CMS[SilverStripe]时才允许访问文件,php,silverstripe,Php,Silverstripe,当用户通过本网站创建预订时,将生成发票pdf并保存在资产/发票中。只有工作人员才能访问这些文件以下载并通过电子邮件发送给客户。然而,目前,如果某人知道确切的URL,无论是否登录,他们都可以访问该URL。我正试图限制那些只登录到CMS的人访问这些文件。有没有办法通过一些权限模块实现这一点 您的模块在以下情况下是否具有安全资产: 有了它,您可以为镜像sitetree页面访问限制的文件/文件夹设置权限。当我试图通过模块实现这一点时,我没有得到任何结果。我所做的就是在资产目录中添加一个私有文件夹,将我所

当用户通过本网站创建预订时,将生成发票pdf并保存在资产/发票中。只有工作人员才能访问这些文件以下载并通过电子邮件发送给客户。然而,目前,如果某人知道确切的URL,无论是否登录,他们都可以访问该URL。我正试图限制那些只登录到CMS的人访问这些文件。有没有办法通过一些权限模块实现这一点

您的模块在以下情况下是否具有安全资产:


有了它,您可以为镜像sitetree页面访问限制的文件/文件夹设置权限。

当我试图通过模块实现这一点时,我没有得到任何结果。我所做的就是在资产目录中添加一个私有文件夹,将我所有的安全文件都放在这个文件夹中。我在私有文件夹中添加了一个htaccess文件,其中包含:

<IfModule mod_rewrite.c>
SetEnv HTTP_MOD_REWRITE On
RewriteEngine On
RewriteBase /

RewriteEngine On
RewriteCond %{HTTP_COOKIE} !cookie_name=cookie_value; [NC]
RewriteRule ^ /page-not-found [NC,L]
此代码检查特定的cookie名称和特定的cookie值,如果不满足此条件,则会将用户重定向到未找到的页面url


在CMS中预订系统的扩展内,我设置了cookie。然后在登录CMS时设置此cookie,如果用户没有此cookie,他们将无法查看/assets/private目录中的任何文件/文件夹。

我在前一段时间制作了一个模块来执行此操作


您可以尝试使用它,也可以使用它编写自己的代码。

您可以向我们展示您迄今为止的尝试吗?我已经删除了代码,但我可以解释。我试图通过htaccess文件限制对IP地址的访问,认为CMS中的人可以获得服务器IP,但是他们没有,并且返回了个人IP,所以这个选项不起作用。这就是我迄今为止所尝试的,我在网上四处寻找解决方案,但我似乎找不到有同样问题的人。有一个旧版本和一个重写版本。新版本应该可以与SSTR~3.1和Apache配合使用。