1

我一直在学习用 PHP 和 MySQL 制作博客的教程。但在教程结束时,完成的博客允许任何访问网站的用户编辑类别和发布。将网站的某些部分限制为我自己的最佳方式是什么?我想到了一个只有我可以登录的登录系统,或者.htaccess 中可能有一种方法。有什么建议么?

4

6 回答 6

1

构建您自己的 ACL 层,查看网络资源,但此链接应该是一个很好的起点

在 PHP 中实现 ACL - 代码日志

于 2012-04-30T11:38:01.627 回答
1

看看 PHP会话

您需要一些用户列表来进行身份验证。如果这是一个数据库,请创建一个包含用户名和密码列的用户表。

在您放置的每一页的开头start_session()。这保留了页面之间的会话。

创建登录页面和链接。在登录页面上,您根据您的用户列表验证传入的用户名和散列密码。如果用户通过身份验证,则添加一个会话变量来存储登录的用户。此外,登录后重新生成会话 ID以防止会话劫持。

在需要成员访问的每个页面上,检查以确保用户已登录。如果没有,则将他们重定向到登录页面。

如果您使用 .htaccess 来设置 HTTP 基本身份验证,您将只想阻止允许用户编辑博客的页面。

考虑在任何一种情况下添加 SSL (HTTPS),否则,如果人们在开放网络上,登录凭据可能会被盗。

于 2012-04-30T12:01:11.817 回答
0

你提到的两种方法都可以。

或者,您可以只安装一个强大、安全、功能齐全的博客。例如http://wordpress.org

于 2012-04-30T11:16:48.980 回答
0

Make a user login module and use session check for that place for example user logged in and his you store his user id or something in $_SESSION['is_user'] then check for private content

if(isset($_SESSION['is_user'])){
//Show
} else {
//Redirect to login page
}
于 2012-04-30T12:19:00.190 回答
0

I think first alter the links to post editing page and use a login system .

sample code,

save file as : 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
}
}
?>
于 2013-05-23T19:01:29.590 回答
-1

如果你想要一个个人博客或类似的东西,最好使用社区支持的,你不需要重新发明,把你的时间花在更有成效的事情上。

您的选择是:

于 2012-04-30T11:30:09.447 回答