【问题标题】:Prevent creation of a webpage by URL in PHP防止在 PHP 中通过 URL 创建网页
【发布时间】:2019-12-21 02:18:27
【问题描述】:

我有一个 MediaWiki 1.32.0 网站。 MediaWiki 网站目录包含文件LocalSettings.php,可以在其中编写全局自定义 PHP。

作为一个非 PHP 程序员,我问是否有一些 PHP 命令可以用来限制通过该网页的 URL 访问某个现有网页,这样任何创建它(的 HTML)的 Web 请求都会被拒绝,要么导致一些类似 404 的 HTTP 状态代码,要么重定向到主页,只要该命令出现在 LocalSettings.php?
我更喜欢 PHP 方式而不是 .htacess 中的 Apache PCRE 指令。另外,我应该注意到该 URL 已被 robots.txt 阻止。

【问题讨论】:

  • Small Point robots.txt 实际上并没有阻止任何事情,它的存在告诉 NiceBots 忽略事情。也可以说它告诉 NastyBots 去哪里寻找好东西。但基本上连看都是可选的
  • 您可能想在这个问题上添加一个 MediaWiki 标签以获得更好的帮助,因为它似乎特定于 MediaWiki。
  • 只是出于好奇:如果您的 wiki 的特定页面不应以任何方式访问,为什么不干脆将其删除?
  • @NicoHaase 我需要一个快速的方法来访问它而不是访问它,因为我处理它的速度很慢,这是一篇需要大量修改的大文章。
  • 您可以使用 PHP 的 _ DIR _ 或 _ FILE _ 来检测正在访问的 URL/页面并将其放在 if 语句中决定做什么。

标签: php html mediawiki restriction


【解决方案1】:

您可以像这样在 PHP 中获取请求的 URL:

$_SERVER['REQUEST_URI'];

并拒绝访问这样的页面:

$url = $_SERVER['REQUEST_URI'];
if ($url == "/wiki/blocked_page") die('404 error here');

或者像这样重定向到你的主页:

$url = $_SERVER['REQUEST_URI'];
if ($url == "/wiki/blocked_page") header('Location: /');

注意:request_url 是您的域名之后的所有内容。 如果您的 URL 是 https://example.com/wiki/blocked_page request_url 将返回“/wiki/blocked_pa​​ge”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-22
    • 1970-01-01
    • 1970-01-01
    • 2015-09-17
    • 1970-01-01
    • 2012-08-16
    • 2016-01-23
    • 2012-06-30
    相关资源
    最近更新 更多