如何限制对 codeigniter 文件夹中文件的访问

2023-12-27

您好,我已经使用 codeigniter 来开发我的网站,但是当在 google 中搜索我的网站时,google 会显示特定文件夹中文件(pdf)的链接,用户可以直接查看这些文件(pdf)而无需登录。我想限制谷歌直接显示这些文件的链接。 例如:www.mywebsite/myfolder/myfile

请指导我如何实现这一目标。谢谢。


较之前稍作修改answer https://stackoverflow.com/questions/12247040/how-to-restrict-access-to-files-in-a-folder-in-codeigniter/12247430#12247430 :

将 .htaccess 与内容一起放入文件夹中

order deny, allow
deny from all

这将拒绝对该特定文件夹的所有访问。

为了访问文件,在控制器中编写一个带有主体的函数 -

public function index($file_name){
    if($this->login())  // login check
        if (preg_match('^[A-Za-z0-9]{2,32}+[.]{1}[A-Za-z]{3,4}$^', $file_name)) // validation
            {
            $file = 'my_path/'.$file_name;
            if (file_exists($file)) // check the file is existing 
                {
                header('Content-Type: '.get_mime_by_extension($file));
                readfile($file);
                }
            else show_404()
            }
    else    show_404();
}

然后你必须在配置文件夹中的routes.php文件中添加一些行,如下所示

$route['my_files/(:any)'] = "my_controller/index/$1";

这会将所有请求重定向到 myfiles/bla_bla_bla 到 my_controller/index/bla_bla_bla

认为这可能有帮助:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何限制对 codeigniter 文件夹中文件的访问 的相关文章

  • CodeIgniter 中的多条件 WHERE 子句

    我想删除核心 PHP 中的一些数据 例如这个查询 WHERE user id id AND sender id send id OR user id send id AND sender id id 所以我在 CodeIgniter 中使用
  • 使用openssl从服务器获取证书

    我正在尝试获取远程服务器的证书 然后可以将其添加到我的密钥库中并在我的 Java 应用程序中使用 一位高级开发人员 正在度假 告诉我我可以运行这个 openssl s client connect host host 9999 获取转储的原
  • 表单方法=“获取”漂亮的URL

    所以我使用这个 HTML 表单作为一个简单的搜索字段
  • Codeigniter 如何清理输入?

    我正在构建一个 Codeigniter 应用程序 并且正在尽最大努力防止 SQL 注入 我正在使用 Active Record 方法来构建我的所有查询 我知道 Active Record 会自动清理输入 但我想知道到底清理到什么程度 它只是
  • 如何正确转义 mysql“搜索/喜欢”查询?

    Summary 我目前正在使用 search field LIKE this gt db gt escape like str search string 逃避动态创建的搜索查询 创建的 SQL 语句结果不会产生任何错误 也不会产生任何结果
  • Codeigniter HMVC Ajax

    我的问题需要一些帮助 我有一个用户列表 我想在 CI HMVC 中使用 ajax 删除用户 onclick 删除按钮 这是我的列表视图的代码 function tip del click function var recId this da
  • 用于货币转换的php脚本

    我正在寻找一个可以进行货币转换的 php 脚本 在哪里可以找到与 codeigniter 配合使用的工具 取自http www ecb europa eu stats exchange eurofxref html index en htm
  • .htaccess 中的“hash”url 重写

    我想重写http example com articles html first article with http example com articles first article 可以重写吗 我尝试使用以下但对我不起作用 Rewri
  • CodeIgniter Active Record - 组 OR 语句

    这是我的问题 MySQL 或 条件 https stackoverflow com questions 8604380 mysql or condition 解决方案是将 OR 语句分组 但我正在使用 CodeIgniters Active
  • Windows 服务器上的 .htaccess 文件

    我进行了研究 发现我的 htaccess 文件无法在我的新 Windows 服务器上运行 我发现我应该使用 web config 我尝试了一下 但没有任何效果 然后我发现我可以使用 htaccess 文件 但我必须将其命名为其他名称 例如
  • (Java) 在 Mac OS X 上以编程方式访问“系统根目录”下的 SSL 证书

    我正在编写一个 Java 应用程序 它可以通过远程 Https 站点进行 REST Api 调用 远程站点由受信任的证书签名 它在 Windows 上运行良好 但由于 SSL 证书问题 在 OS X 上运行时遇到问题 我做了一些挖掘 发现原
  • WordPress .htaccess www。不强迫

    我正在尝试强迫www 在我网站的所有页面上 我将 WordPress 安装在我的主站点 blog 上的一个文件夹中 在 blog 文件夹中有一个 htaccess 文件 其中包含以下内容
  • 仅当未找到文件时才重定向请求?

    我希望有一种方法可以使用 mod rewrite 和 Apache 来做到这一点 但也许还有另一种方法可以考虑 在我的网站上 我为客户的网站重新设计版本设置了目录 如果网络根目录是 home blah www 客户端目录将是 home bl
  • htaccess - XAMPP 上的互联网服务器错误 500 [已关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我尝试在 XAMPP 上运行脚本 但收到 互联网服务器错误 500 在实时服务器上运行时效果很好 我认为这是一个 htaccess 错误 htacce
  • 未捕获的安全错误:阻止了具有原点的框架...访问具有原点的框架

    我已经为 SAP 解决方案 无论什么 制作了一个组件 该组件通过 iframe 嵌入到报告中 在 SAP 平台 BO 上部署报告后 我收到此错误 在 Chrome 上 但在 IE 或 FF 上也不起作用 Uncaught SecurityE
  • Cloud Firestore 安全规则使用的语言名称是什么?

    我想知道用于 Cloud Firestore 安全规则的语法名称 如下所述https firebase google com docs firestore security get started authuser 0 https fire
  • 无法使用前导 ../ 在顶级目录之上退出

    我有一个 asp net 网站 我们有管理区域 其中的登录页面仅供管理员使用 并且所有网站都允许所有人使用 当我收到此错误时 我需要询问如何为其定义正确的安全配置 Cannot use a leading to exit above the
  • if 不是 localhost 语句 htaccess

    我目前强迫访问者通过 https 访问我的所有网站 主要是 Wordpress 我使用以下代码 RewriteEngine On RewriteCond HTTPS on RewriteRule https SERVER NAME REQU
  • Amazon Web Services:设置 S3 策略以允许 putObject 和 getObject 但拒绝 listBucket

    我在 Amazon S3 上使用 getObject 和 putObject 请求 并在创建访问存储桶的策略时发现 如果我不允许 listBucket 则会收到 访问被拒绝 错误 这样做的问题是 listBucket 意味着用户可以列出存储
  • 如何禁用 HTTP 的 HSTS 标头?

    我已将以下内容插入到我网站的 htaccess 中 以便能够访问HSTS预加载列表 https hstspreload appspot com

随机推荐