我正在点点滴滴地创建一个网页,测试部分网页的想法。我想学习如何对页面进行会话保护。我已经对一个页面进行了安全的密码保护,但任何人都可以通过输入url来访问该页面。我想要对我的页面进行会话保护,这样就没有人可以这样做了。我有三个页面: index.html,它具有发送password.php的表单;password.php,它使用"if语句“(这里是"if语句”)确保密码和用户名是正确的。
if ($username == 'mgmb99'){
if ($password == 'mgmb91mas'){
header('Location: youhere.php');
} else {
echo 'your username or password is wrong.<a href="http://www.passwordtest.comze.com"> go back to login page </a>';
}} else {
echo 'your username or password is wrong.<a href="http://www.passwordtest.comze.com"> go back to login page </a>';
};和youhere.php,这是您登录后的页面。
发布于 2013-04-01 01:12:18
网上有很多很好的例子。但是,会话限制(以及数据库)最好使用salt键或散列。
所以基本上你需要一个id/用户名和一段随机的文本,然后(例如)用sha1对其进行散列。
sha1($[your username].'completely random piece of text')这将给你一个40个字符的字符串,如果你有用户名和随机文本,你可以重现它。所以:
if($SESSION‘’id‘== sha1($your用户名。’完全随机的文本‘)){ //现在您知道用户名是正确的}
基本上就是这样。当然,它也有更多的技巧。但不要在会话中放入任何对任何人都有意义的内容。因此,只要在会话中使用公共ID(而不是用户ID)以及散列数据即可。
下面是一个简单会话的示例(我没有检查它,但它很容易入门):http://www.webdesign.org/web-programming/php/password-protect.11092.html
祝你好运!
发布于 2013-04-01 01:19:57
do like this
<?php
session_start();
if ($username == `enter code here`)
{
if ($password == `mgmb91mas`)
{
$_SESSION[`id`]='Secret code';
header(`Location:page.php`);
}
?>
and check that id in the next page at start like below
<?php
session_start();
if($_SESSION['id']!='Secret code')
{
header('Location:inde.php');
}
?>https://stackoverflow.com/questions/15732011
复制相似问题