gpt4 book ai didi

php - 防止使用 Slim Framework 访问 'index.php'

转载 作者:行者123 更新时间:2023-12-02 13:32:27 25 4
gpt4 key购买 nike

我正在为我的网络应用程序使用 Slimframework,并且我在 .htaccess 中使用以下 ReWrite 将所有 url 请求指向“index.php”中的一个入口点:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]

一切都很好,但是,仍然可以通过以下请求/路由在 URL 中访问 index.php:/mywebsite/public/index.php 我不想要。现在我知道它是我的公共(public) html 文件夹中的唯一文件,但我不希望在 url 中访问它...我如何将其重定向到错误的路由

1) .htaccess 重写

或者

2)一些细小的逻辑

???

最佳答案

您可以像这样更新规则:

RewriteEngine on
# Rewrite to index.php
RewriteCond %{REQUEST_URI} !=/index.php
RewriteRule ^ index.php [L,E=rewritten:1]
# 404 any direct access of index.php
RewriteCond %{ENV:rewritten} !=1
RewriteCond %{ENV:REDIRECT_rewritten} !=1
RewriteRule ^index\.php$ - [R=404,L]

我删除了不需要的 QSA 标志。我删除了不必要的文件和目录检查,并替换为更快的 index.php 检查。

为了回答您的实际问题,对于任何直接访问 index.php 的尝试,我都会返回 404。另一种选择是重定向到某个内容。

关于php - 防止使用 Slim Framework 访问 'index.php',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42171826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com