【问题标题】:How to Protect PHP Url From Direct Accessing?如何保护 PHP 网址不被直接访问?
【发布时间】:2016-11-10 19:03:48
【问题描述】:

我正在使用 Web 链接,例如:http://example.com/abc/abc.php 在我的应用程序(例如 windows phone)中检索 JSON 数据。

一切正常,但可以从浏览器直接访问网址。我不希望网址可以直接访问。

如何保护 URL 不被直接访问但允许从应用程序访问?

【问题讨论】:

  • 把脚本放到根目录之外?
  • 你不能 100% 阻止这种情况。该应用程序在发出请求时看起来与浏览器完全一样。如果不是这样,没有什么可以阻止某人更改他们的用户代理、会话,以及任何让它看起来像这样的东西。您可以通过设置带有令牌的标头、更改应用程序中的用户代理或发布令牌值来减慢人们的速度。然后使用您的 php 脚本检查这是否是预期值。但这一切都可以被浏览器欺骗。
  • 如果是POST url,则添加必须验证的token。它不会完全停止访问,但会大大减少访问。
  • 如果你采取“不返回任何依赖应用隐藏的数据”的策略,那么这一点就没有实际意义了。
  • @JonathanKuhn 是的,令牌是保护的好方法。但这似乎很棘手。我尝试了文件夹的密码保护,但随后我使用username:password@website.com/abc/showall.php 访问了该网址,但此技术不适用于我的应用程序。我认为应用程序不支持 url 中的用户名和密码。任何想法。我看到一些应用程序从受密码保护的 url 获取请求

标签: php json windows-phone-8.1 win-universal-app


【解决方案1】:

您可以使用类似.htaccess(这是一个可用于进行 url 重写和重定向的文件),而不是 . . .我对此了解不多,因此您必须查找如何操作。

但是,如果您的文件是 phpphtml 文件,那么您可以只写:

<?php

// just redirect someone away from the file whenever they go to access it.
header("location: your/location/file.php");

?>

无论如何,这就是我能提供的所有帮助,希望我能成功回答这个问题。

【讨论】:

  • 我不想重定向任何我想保护我的 URL 形成直接浏览器访问的 URL。
  • 那么,我不确定这是否是我的专业领域。
猜你喜欢
  • 1970-01-01
  • 2017-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-03
  • 2015-07-18
  • 1970-01-01
  • 2015-12-12
相关资源
最近更新 更多