Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 使用成员登录限制页面访问_Security_Login_Password Protection - Fatal编程技术网

Security 使用成员登录限制页面访问

Security 使用成员登录限制页面访问,security,login,password-protection,Security,Login,Password Protection,我需要做一个完全正常的限制区,我的网站只能访问注册,登录的成员。受限页面将使用PHP从MySQL数据库中提取数据 我一直在寻找这样做的方法,发现了很多无用的结果。我发现的大部分内容要么不安全,要么过时,要么只涉及流程中的一个非常具体的领域。花上几个小时研究一种做这件事的方法,却发现他们使用了一些不安全的方法,而且完全没有用,这真是令人沮丧。所以我希望得到经验丰富的stackoverflow社区的意见,为我指明正确的方向 所以我的问题是: 知道数十万个网站拥有完全相同的注册、登录、授予访问A、B和

我需要做一个完全正常的限制区,我的网站只能访问注册,登录的成员。受限页面将使用PHP从MySQL数据库中提取数据

我一直在寻找这样做的方法,发现了很多无用的结果。我发现的大部分内容要么不安全,要么过时,要么只涉及流程中的一个非常具体的领域。花上几个小时研究一种做这件事的方法,却发现他们使用了一些不安全的方法,而且完全没有用,这真是令人沮丧。所以我希望得到经验丰富的stackoverflow社区的意见,为我指明正确的方向

所以我的问题是: 知道数十万个网站拥有完全相同的注册、登录、授予访问A、B和C页的权限、注销事件组合,是否有一种普遍接受的设置方法?如果没有,为什么没有?这是实现这一目标的好方法吗?假设我知道如何让它工作

页面/数据库不会保存信用卡号码或其他敏感信息,因此我认为不会有成千上万的黑客不断攻击该网站,但我显然希望保持合理的安全级别。我一直在谨慎地避免在数据库端发生SQL注入攻击的可能性

非常感谢,, 保罗试试这个。 login.php

check.php

index.php,其中包含受保护的内容

<?php
session_start();
if(!isset($_SESSION['logged'])){echo 'Please login';}
else{
//your private content here
}
?>

我认为这个问题太模糊了,在这里找不到好的答案。有数百万种方法可以不安全地对页面进行密码保护,但也有成千上万种方法可以安全地进行密码保护。没有真正的方向发送给你,除了可能要看看。谢谢这个。但我已经读到,我不应该使用SHA1或MD5进行密码加密;我知道你评论你也可以编辑密码加密…我不知道怎么做。这看起来很奇怪,没有现成的解决方案——这是适用于这么多网站的标准做法。我确信有人制作了一个可下载的软件包,并为此收取了几英镑,他们会发大财的。你是对的:事实上,尽管md5和sha1很常用,但他们可以使用蛮力进行黑客攻击。我的只是一个例子。您可以使用crypt函数,也可以对散列进行盐分。解释这意味着什么超出了本评论的范围:谢谢-我会调查的。天哪,没有地下室。要存储密码哈希,请研究PBKDF2。
<?php
session_start();
$user = htmlspecialchars(addslashes($_POST['usernaame']));
//you can also edit password encryption
$password = htmlspecialchars(addslashes(md5(sha1($_POST['passworrd']))));
//put here your query
$query = mysqli_query();
if(mysqli_num_rows($query)=="1"){
$_SESSION['logged'] = $user;
}
else{echo 'Data is incorrect';}
?>
<?php
session_start();
if(!isset($_SESSION['logged'])){echo 'Please login';}
else{
//your private content here
}
?>