我有一个我使用Parse构建的网站作为后端,我想限制对没有管理员访问权限的用户访问特定的URL(技术上的URI)。到目前为止,当用户尝试登录时,他们的密码将根据服务器中的散列密码进行检查。在JavaScript服务器端限制URL访问
但是,如果我只希望管理员能够访问http://mywebsite.com/secret.html并且只有一次他们登录后,我该怎么做?现在任何人都可以访问该网址,无论身份验证与否。
编辑:此网站没有其他帐户以外的管理员。它应该是匿名的。
我有一个我使用Parse构建的网站作为后端,我想限制对没有管理员访问权限的用户访问特定的URL(技术上的URI)。到目前为止,当用户尝试登录时,他们的密码将根据服务器中的散列密码进行检查。在JavaScript服务器端限制URL访问
但是,如果我只希望管理员能够访问http://mywebsite.com/secret.html并且只有一次他们登录后,我该怎么做?现在任何人都可以访问该网址,无论身份验证与否。
编辑:此网站没有其他帐户以外的管理员。它应该是匿名的。
你不能用JavaScript或HTML以安全的方式实现这一点,因为它是客户端。您最好使用PHP或其他服务器端Web语言。
用PHP,你可以很容易地做到登录这种方式(你的登录页面上):
if($_POST['username'] == "admin" && $_POST['password'] == "adminpass"){
$_SESSION['authed'] = true;
}
而且在所有的页面中,你希望确保,使用上的文件的顶部:
if(!isset($_SESSION['authed']) || $_SESSION['authed'] != true){
echo "You are not logged in";
die(); //Kill the page so the secured content is not viewable
}else{
echo "You are logged in";
}
// your secured content here
不确定你期望得到什么样的答案?检查用户名确认他是管理员。故事结局。 – gdoron 2013-02-19 16:08:45
标准用户不会拥有用户名,因为它是一个匿名服务......所以,如何防止他们直接进入url?这是我的问题。我将如何阻止他们直接访问该页面? – barndog 2013-02-19 16:13:20
@shadow - 因为当请求URL时,你检查他们的auth/authz。 – Quentin 2013-02-19 16:20:48