我一直在关注用PHP和MySQL制作博客的教程。但是在本教程结束时,完成的博客允许任何访问该网站的用户编辑类别并发布。将网站的某些部分限制为自己的最佳方法是什么?我已经想到了一个登录系统,我只能登录,或者.htaccess可能有办法。有什么建议吗?
答案 0 :(得分:1)
构建自己的ACL层,检查网络上的资源,但这个链接应该是一个很好的起点
答案 1 :(得分:1)
看一下PHP sessions。
您需要一些用户身份列表进行身份验证。如果这是一个数据库,请创建一个Users表,其中包含用户名和密码列。
在您放置start_session()
的每个页面的开头。这保留了页面之间的会话。
创建登录页面和链接。在登录页面上,您可以根据用户列表验证传入的用户名和散列密码。如果用户通过身份验证,则添加一个会话变量,用于存储登录的用户。此外,登录后regenerate the session ID以防止会话劫持。
在每个需要成员访问权限的页面上,检查以确保用户已登录。如果没有,则将其重定向到登录页面。
如果您使用.htaccess设置HTTP基本身份验证,则您只想阻止允许用户编辑博客的页面。
考虑在任何一种情况下添加SSL(HTTPS),否则,如果人们在开放网络上,则可能会盗取登录凭据。
答案 2 :(得分:0)
你提到的两种方式都可以发挥作用。
或者您可以安装一个强大,安全,功能齐全的博客。例如http://wordpress.org
答案 3 :(得分:0)
制作一个用户登录模块并对该地点使用会话检查,例如用户登录并将您的用户ID或其他内容存储在$_SESSION['is_user']
中,然后检查私人内容
if(isset($_SESSION['is_user'])){
//Show
} else {
//Redirect to login page
}
答案 4 :(得分:0)
我认为首先改变发布编辑页面的链接并使用登录系统。
示例代码,
将文件另存为: login.php
<form method="post">
name : <input name="name">
password : <input name="name">
<button> login </button>
</form>
<?php
session_start();
define('name','your name');
define('password','your password');
if($_SERVER['REQUEST_METHOD'] == "post"){
if($_POST['name' == name && $_POST['password'] == password){
$_SESSION['logged_in'] = 'yes';
header('location:admin.php'); //you can change this
}
}
?>
答案 5 :(得分:-1)
如果您想要个人博客或类似的东西,最好使用社区支持的博客,您不需要重新发明,利用您的时间提高效率。
您拥有的选择是: