首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >登录到网站和其他网站部分

问登录到网站和其他网站部分
EN

Stack Overflow用户
提问于 2013-04-22 21:42:33
回答 2查看 82关注 0票数 0

我用php和html登录了网站。代码:

代码语言:javascript
复制
<?php

session_start();
$user="root";
$host="localhost";
$password="";
$database="mb_dusnionys_login";
$usertable="nariai";

mysql_connect ($host, $user,$password) or die ("negalima");

mysql_select_db ($database)or die (mysql_error());


$myusername=$_POST['username'];
$mypassword=$_POST['password'];


$sql="SELECT * FROM {$usertable} WHERE username='{$myusername}' AND password='{$mypassword}'";

$result = mysql_query($sql);
$count=mysql_num_rows($result);

if($count==1){

$_SESSION ["username"]=$myusername;
$_SESSION ["password"]=$mypassword;
$_SESSION ["userrecord"]=mysql_fetch_assoc($result);

header ("location: /nariu_turinys/index.html");
}
else {
echo "Netinkamas vartotojo vardas arba slaptažodis. Grįžkite atgal ir bandykite iš naujo";
}

我的网站的结论:有主索引文件与按钮和登录form.Button重定向,而无需登录到其他索引文件和登录表单重定向到第三个索引文件的用户名和密码的要求。在这个目录中是我的网站的主要部分。当我使用登录表单登录网站时,一切都是正常的,但如果当我登录并将url复制到页面的某个部分并粘贴到其他浏览器或其他选项卡中时,我可以在没有登录的情况下到达这一部分。问题是如何在没有登录的情况下使这些部件不可用?

EN

回答 2

Stack Overflow用户

发布于 2013-04-22 21:46:04

您需要在客户机上存储某种形式的身份验证令牌(您已经在使用session cookie执行此操作),然后检查访问每个页面的用户是否经过身份验证并被授权查看该页面(如果没有,则使用登录表单或适当的错误消息给出403响应)。

票数 0
EN

Stack Overflow用户

发布于 2013-04-22 21:46:12

您应该向每个内部页面添加一个函数,以检查登录时存储的会话数据。如果此数据与存储的数据不匹配,则使用错误消息将用户踢回登录页面。

-编辑-

下面是一个示例函数:

代码语言:javascript
复制
function isLoggedIn()
{
    if(isset($_SESSION['username']))
        $sql="SELECT * FROM {$usertable} WHERE username='{$_SESSION['myusername']}' AND password='{$_SESSION['password']}'";
    $result = mysql_query($sql);
    if(!$result)
    {
        logout();
    }
} else {
    logout();
}}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16148640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档