2016-05-29 46 views
0

防止直接访问网页因此,我在我的网站上托管我们的网站(我们打电话是abc.com)上goDaddy。通过键入URL

我有一个登录页面(abc.com/login.html)。

一旦验证了登录凭证,我就可以进入第二个页面(名为booking)(abc.com/booking.html)。

所以我不希望人们只能输入abc.com/booking.html并访问它。我希望他们去abc.com/login.html,然后去abc.com/booking.html

所以我碰到2层的方法来解决这个问题 -

  1. 包括一个在booking.html中验证php脚本并将扩展名从html更改为phtml。 - >这对我不起作用
  2. 包含一个.htacess文件。 - >我真的不知道该怎么做
+0

您可能需要用于预防'_SESSION' $。 –

+0

你需要做一些服务器端。 .htaccess文件可能会替代您的登录页面,我不认为您需要这样做。 因此,正如其他人所说的那样,您需要使用PHP或其他服务器语言(node.js,Java,...我不知道他们哪些在goDaddy上可用)。 这个概念是在用户登录后给用户一个会话ID。这个会话ID可以存储在一个cookie或somwhere中。当用户访问页面时,脚本检查会话ID。只有该ID有效,用户才可以继续。 – TuringTux

+0

记住'$ _SESSION'运行'PHP'而不是'HTML'。 –

回答

1

因此您的登录屏幕应该已经将会话代码实施到它中,该代码具有指定用户是否登录的变量。如果你没有这样的实施还没有,代码将类似于:

<?php session_start();//at the very top of the page 
?> 
//... your own code 
//if the user successfully logs in then: 
$_SESSION['authenticated']=true; 

然后booking.php页面上(应该是PHP允许PHP脚本这是如果用户是验证超重要登录),然后检查用户是否登录。如果他这样做了,则会加载其余的页面,如果他没有登录,则会将其重定向到登录。PHP:

在booking.php的顶部:

<?php session_start(); 
if (!isset($_SESSION['authenticated'])) 
{ 
    //if the value was not set, you redirect the user to your login page 
    header('Location https://www.example.com/login.php'); 
    exit; 
} 
else 
{ 
    //if the user did login, then you load the page normally 
} 
+0

工程。谢谢 – kalpitha

+0

@kalpitha没问题:)。哦,如果这个答案适合你,请接受它(带有绿色的勾号),以便将来的用户和读者知道它适合你。 – Webeng

0
  1. 使用$ _SESSION或
  2. 从login.php中传递一个变量booking.php。然后根据使用$ _POST方法传递的变量验证每个用户。

例如,

if (!isset($_POST['auth'])) { 
// redirect user back to login page 
} else { 
// successful login 
} 
0

你可以不喜欢它

需要此认证

如所有页面的命名扩展

login.html >> login.php 
booking.html >> booking.php 
booking-suceess.html >> booking-success.php 

创建一个脚本,即auth.php与下面的代码

<?php 
session_start(); 
if(!isset($_SESSION['username'])){ 
    header("location:login.php"); 
} 
?> 

login.php中添加会话

$_SESSION['username'] = $_POST['username']; 

现在你可以添加auth.php在任何您想要登录的php页面中,如下所示:

include ('auth.php');