ホームページ > データベース > mysql チュートリアル > ログイン システムを使用して会員専用ページを保護するにはどうすればよいですか?

ログイン システムを使用して会員専用ページを保護するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-17 00:02:03
オリジナル
254 人が閲覧しました

How to Secure Member-Only Pages with a Login System?

ログイン システムを使用してメンバー専用ページを安全にする

メンバー専用ページ用の安全なログイン システムを作成する場合、いくつかの側面があります。考慮する。懸念事項に対処するための代替アプローチは次のとおりです。

初期化と関数を分離する

  • データベース接続とログイン ロジックを別のファイルに移動します (例: init. php).
  • へのアクセスが必要なすべての PHP ページの先頭にこのファイルが必要です。

集中ログイン処理

  • AJAX ベースのログイン スクリプト (ajax/login.php) を使用して、ログイン リクエストを処理します。
  • ユーザー名とパスワードを POST データとして渡し、それらを
  • 成功した場合は、適切なセッション変数を設定し、呼び出しページに「1」を返します。

セッション管理

  • PHP セッションを使用して、ユーザー名などのログイン情報を保存します。
  • セッション変数を次のように使用します。許可されていないアクセスを防ぐために、制限されたページをガードします。

ページのコンテンツとテンプレートの組み込み

  • PHP インクルードを使用して、次のような共通のページ要素を取り込みます。一貫したユーザー エクスペリエンスを実現するために、ヘッダーとフッターとして使用します。
  • PHP echo ステートメントを使用して、次のようなユーザー固有の情報を動的に表示します。制限されたページでは、ログインしたユーザー名として使用します。

実装例:

init.php (データベースと関数の初期化)

<?php
// Database connection
$servername = "localhost";
$username = "username";
$password = "password";
$db = "database";

// Create connection
$conn = new mysqli($servername, $username, $password, $db);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

// Load custom functions
require_once('fn/functions.php');
ログイン後にコピー

index.php (ログインページ)

<?php
require_once('inc/head.inc.php');
require_once('fn/init.php');
?>

<div>
ログイン後にコピー

ajax/login.php (ログイン処理)

<?php
$username = $_POST['username'];
$password = $_POST['password'];

// Validate credentials against database
if (authenticate($username, $password) == true) {
  // Set session variables
  session_start();
  $_SESSION['username'] = $username;
  
  echo 1; // Success
} else {
  echo 'Invalid credentials.';
}
ログイン後にコピー

restricted_pa​​ge.php (保護されたページ)

<?php
require_once('inc/head.inc.php');
require_once('fn/init.php');

// Check if user is logged in
session_start();
if (!isset($_SESSION['username'])) {
  header('Location: index.php');
  exit;
}
%>

<h1>Welcome to the Restricted Page, <?php echo $_SESSION['username']; ?>!</h1>
ログイン後にコピー

これらのガイドラインに従うことで、次のことができます。メンバー専用ページを不正アクセスから保護する安全なログイン システムを作成します。

以上がログイン システムを使用して会員専用ページを保護するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート