【问题标题】:Force Webpage to be Inaccessible on AWS EC2强制网页在 AWS EC2 上不可访问
【发布时间】:2017-07-24 21:00:01
【问题描述】:

我有一个托管在 AWS EC2 实例中的网站。我正在使用 AWS RHEL(默认 EC2 选项)。

目前,我的托管站点(在实例上)位于:/var/www/public_html/gitRepoName/index.html

假设我在目录gitRepoName 中有 3 个网页。所以,这将是 index.htmlaboutMe.htmladminPage.html。如何配置实例,使任何人都无法手动输入myUrl.com/adminPage.html 并获得管理页面?

换句话说,我如何确保我的个人网页只能通过点击我制作的正确href标签来访问,并且不能通过硬输入链接来访问它们。有任何问题请评论。

提前感谢您的帮助!

【问题讨论】:

  • 什么是正确的href 标签?
  • 我不明白手动输入与单击链接的部分。您是否指的是如果有人在浏览器中键入相同的 url,则使其无法访问,但如果有人单击网页中的相同 url 的链接,则使其可访问?
  • 抱歉,如果不清楚。假设我有一些看起来像<a href="myNewPage.html">this</a> 的文本。如何强制用户单击文本 this 而不是键入 www.link.com/myNewPage 来访问 myNewPage.html

标签: amazon-web-services amazon-ec2 rhel


【解决方案1】:

这是你必须在网页上而不是在 ec2 本身上构建的东西。你可以使用 php 脚本来获取 HTTP_REFERER 并检查值是否等于“myUrl.com/index.html”

adminPage 中的代码如下所示:

  <?php
    $ref=$_SERVER['HTTP_REFERER'];
   if ($ref!="myUrl.com/index.html")
   {
      ......redirect to index.html
   }
   ?>

我已经提到了 php 示例,因为您没有提及您使用的脚本语言。如果您使用的是 HTML/Javascript,请尝试使用 HTML dom 中的 document.referrer 属性。

【讨论】:

  • 我没有 apache 为网站提供服务,但如果我选择这样做,我会试试这个。
  • 但是如果我这样做,我有一个问题。我对代码的理解是:获取用户来自的页面 - 如果页面不是索引,则重定向到索引。对吗?
  • 是的,如果 adminPage 上的 HTTP_REFERER 为空,它仍会将用户重定向回索引。
  • @Jsleshem 任何网络服务器都会支持这种变体......但重要的是要注意,这不是一种有效的安全机制——它让诚实的人保持诚实,仅此而已。 HTTP_REFERER(派生自 Referer: 请求标头)由浏览器发送且不受信任。它被设计为一种报告和内务管理机制(“哇,我们在/pics/funny/cat.jpg 上得到了很多 404……我希望我知道那里链接了哪些页面……”)而不是为了安全。恶意用户伪造是微不足道的
  • @Michael-sqlbot 你知道有什么其他方法可以做到这一点,这样几乎没有恶意活动吗?谢谢!
猜你喜欢
  • 2023-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-03
  • 2021-04-11
  • 1970-01-01
  • 1970-01-01
  • 2015-04-17
  • 1970-01-01
相关资源
最近更新 更多