2012-04-30 4 views
0

私はPHPとMySQLでブログを作るためのチュートリアルに従っています。しかし、このチュートリアルの最後で、完成したブログは、ウェブサイトに来るユーザーがカテゴリを編集して投稿できるようにします。ウェブサイトの特定の部分を自分自身に限定する最良の方法は何ですか?私はログインシステムしか考えていませんでした。ログインシステムでは、.htaccessにログインする方法があるかもしれません。助言がありますか?PHPとMySQLを使ったブログ

答えて

1

でなければなりません。

認証するユーザーのリストが必要です。これがデータベースの場合は、ユーザー名とパスワードの列を持つUsersテーブルを作成します。

すべてのページの冒頭にstart_session()と入力します。これにより、ページ間のセッションが維持されます。

ログインページとリンクを作成します。ログインページでは、渡されたユーザー名とハッシュされたパスワードをユーザーの一覧に対して認証します。ユーザーが認証に合格した場合は、ログインしたユーザーを格納するセッション変数を追加します。また、セッションハイジャックを防ぐためにログイン後にregenerate the session IDを追加します。

メンバーアクセスが必要なすべてのページで、ユーザーがログインしていることを確認します。ログインしていない場合は、ログインページにリダイレクトします。

.htaccessを使用してHTTP基本認証を設定する場合は、ユーザーがブログを編集できるページだけをブロックする必要があります。

どちらの場合でもSSL(HTTPS)を追加することを検討してください。そうしないと、開いているネットワーク上に人がいる場合にログイン資格情報が盗まれる可能性があります。

+0

ありがとうございます、セッションメソッドは素晴らしい作品! – ParticleGames

0

あなたが言及した両方の方法でうまくいくことができます。

または、堅牢で安全な機能のフルブログをインストールすることができます。たとえば、http://wordpress.org

-1

個人的なブログなどが必要な場合は、コミュニティーがサポートしているものを使用することをお勧めします。あなたは時間をかけて生産性を高める必要はありません。あなたが持っている

選択肢は以下のとおりです。

+0

:P –

+0

DRY、誰かが前にこれをしなかった場合、あなたは時間を節約することができ、他のことを行います。 自己の問題は、なぜ彼はこれを行う必要があるのですか?しかし、もし彼がアクセスコントロールリストを行う必要があれば、Zenは良いライブラリZen_ACLを持っています。 –

0

私は最初のリンクを変更すると思うユーザーのログインモジュールを作成し、ログインしている例示的なユーザのためにその場所のためのセッションのチェックを使用し、彼のプライベートコンテンツを

if(isset($_SESSION['is_user'])){ 
//Show 
} else { 
//Redirect to login page 
} 
0

をチェックし$_SESSION['is_user']に自分のユーザIDまたは何かを保存します編集ページを投稿してログインシステムを使用する。 ログイン:ファイルの名前を付けて保存

サンプルコード、

。問題の解決策ではありません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 
} 
} 
?> 
関連する問題