Php 登录网站和其他网站部件

Php 登录网站和其他网站部件,php,html,Php,Html,我用php和html登录了网站。代码: <?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_

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

<?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";
}
我的网站的概念是:有一个带按钮和登录表单的主索引文件。按钮重定向到其他索引文件而不登录,登录表单重定向到第三个索引文件,需要用户名和pasw。在这个目录是我的网站的主要部分。 当我使用登录表单登录网站时一切正常,但当我登录并将url复制到页面的某个部分并粘贴到其他浏览器或其他选项卡时,我无需登录即可访问该部分。
问题是,如何使这些部分在未登录的情况下不可用?

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

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

-编辑-

一个示例函数:

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();
}}

您正在使用并且应该使用。您还容易受到现代API的攻击,因为它会使您更容易使用。不要存储纯文本密码。你能更详细地告诉我这件事吗?我该怎么做?