php网页老是显示请先登录_关于php:如何通过输入URL避免我的网页中的登录绕过...

我正在尝试在家里建立一个安全的网页。 我用HTML和PHP创建了一个登录页面,当用户尝试使用http://example.com时,它实际上可以正常工作。 但是,我注意到,如果用户输入URL http://example.com/documents.html(其中documents.html是我网站上的页面),则无需先登录即可访问页面内容。

我一直在寻找解决方案已有数周没有成功。 我尝试使用Apache的.htaccess功能失败,(获得与上述相同的结果)。 因此,如果有人可以带领我避免这种情况,那将是很好的。

为什么不简单地将documents.html变成.php并在那里进行适当的安全检查?

使documents.html成为php文件。 在documents.php的顶部按if(!$logged_in){ header(Location: http:mywebpage.com); exit; }的行写东西

如果指示Apache这样做,则可以将.html视为PHP。 但是,如上所述,最好将文件扩展名更改为.php并使用带有条件语句和/或数据库的会话。 向我们展示您的.htaccess文件的示例,以了解您尝试了什么。 旁注:我相信nginx不支持.htaccess

您遇到的问题是由于各种原因造成的。 首先,您的页面格式应该是PHP而不是HTML。 然后,您需要在此帖子中添加类似第一个答案的内容。 PHP Login Check确保您检查了先前的问题确保您会找到答案! 希望这可以帮助。

谢谢,按照您的指示已经解决了问题,我更改为php文件格式并执行安全检查。 太好了

这个问题很广泛。有许多可能的解决方案。给出最佳答案将非常困难。

我个人的选择是从网站的公共区域删除HTML页面,然后创建一个PHP页面,该页面根据请求的页面检查权限。如果可以,则PHP页面将读取非公共HTML页面并仅回显内容。

这样可以保护HTML页面,而无需重命名或以任何方式更改它们。这通常会更好一些,因为通常有一个原因是您拥有HTML页面而不是PHP页面。如果它们是在其他地方生成的,那么也很难使这些更改保持更新。它还将使您有机会在显示之前在代码中添加或修改输出。

可以为每个HTML页面制作一个PHP文件,或者您可以对所有页面使用一个PHP文件,并使用请求变量选择要授权和显示的HTML页面。那取决于你。

值得一提的是,这种类型的系统还可以用于您想保护的任何其他类型的文件,但仍可以(看起来)直接访问。为此,只需将mystaticfile.html替换为mystaticfile.zip(或其他内容),并确保发送正确的标头。

对我来说,我在网页的开头添加了此代码,该代码只能通过登录才能访问。

if(isset($_SESSION["username"])) {

//Code to run if logged in

} else {

//This will return the user to login page if the user is not logged in

header("Location: login.php");

}

?>

这将保护用户页面的独占页面,即使手动键入URL也是如此。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值