質問

この試験エンジンのアプリケーション5つの論文に定める。5phpページ

フローの申請

Login.html

check.php //確認r右

場合は訂正し

main.php //ユーザがクリックするかテスト"このページを表示するた1 5の論文...

がってからログインできるだけ変更のurlへのurlを試験紙にしたいの..紙の名前r1.php 2.php....

したいこ...??

if(!isset($_SESSION['page'])//Tp
        continue;           //Tp
else
 {
   header('Location:login.php');
   exit;
 }                               //Tp
$_SESSION['page']=$_SERVER['SCRIPT_NAME'];//tp

これは正しいでしょうか。...と言ったり5ページ....

にeacページ私はこのコード....

に達しているか確認しますのセッション変数を設定します。...設定されている場合は---ということはすでに訪れたページ.....このコードのだ。かったのを利用したい変数_SESSION['page'] 前に宣言います。

役に立ちましたか?

解決

の問題という主題による手配コードの周りにデフォルトのハンドラを記述します。(私のガイドラインに示す。)

あり方はパス情報などのリクエストを述べましたようにコメント。基本的な方法があり、ここを通るように取得変数のように、 http://www.example.com/main.php?p=1.

だいたお客様向けのUrlをお使いいただけますので RewriteRule.htaccess ファイルに変換するものUrlへのUrlをこのハンドラます。(必要がありま mod_rewrite 有効になります。)

これを失わせないアイテムでこの特定の質問ですが、ここにいくつかの例がありますガイドライン確保のためのライブラリーです。と思うように、彼らはすべての関連:

  1. けの機密情報 外部のウェブルート.
  2. デフォルトでない情報.のみを表示する情報は、ユーザーを積極的に表示されます。
  3. 理想的には、このUrlをそのままタイプに有効なURLが認証されていないかを知ってもらうもなく、有効なURL)一方でリダイレクト(セットのヘッダのようにきたということです)にログインページにない場合に表示されます。
  4. の作成デフォルトのハンドラを記述します。 この中央のスクリプトのすべてに必要なファイル、話すべてに必要な機能パスすべてのリクエスト情報をこのハンドラで出力します。
  5. 要求#3: 封止コード 機能。そのように、デフォルトのハンドラで呼んでいき、場合にのみ必要なものとなったのが含まれていた。することができます。制御の流れのアプリです。
  6. の代わりに echoグHTMLの場所で全体コード 全て返却してHTMLに出力メインのハンドラ, を回収することで、出力することができます。ェアが開催される。きます。ランダム echos散らかりやすくなるのでセキュリティホール生します。
  7. ない信頼のユーザー入力.この場所での利用価値から $_GET または $_POST, してください有効な値を使用します。

編集:

(より具体的にコードをそのまま現在)

があり 3つの理由コードな走行しています:

  1. き残載の if(!isset($_SESSION['page']).

  2. のコード書きの場合 $_SESSION['page'] が既にセットされている時、ユーザーの訪問のページでは、リダイレクトされ、ログインページです。できることにより、これを解決の header('Location:login.php'); exit;if 条項を削除す else 条項を完全に:

    if(!isset($_SESSION['page'])) {
       header('Location:login.php');
       exit;
    }
    $_SESSION['page']=$_SERVER['SCRIPT_NAME'];
    
  3. を設定する必要がありま $_SESSION['page'] 初めてログインいを閲覧することができます最初のページです。

私の使用をお勧めし整数 $_SESSION['page'] 代わりにスクリプトの名前です。そのように設定することができま $_SESSION['page'] 1ログインすると、それはその成功覧ページでは、増分値 $_SESSION['page'] ます。検討 $_SESSION['page'] 意味 次の紙をこのユーザーを表示可能.

しかしながら、セッション $pageid 各紙です。それはそうにページの場合 $_SESSION['page'] 以下の $pageid, いうのページです。

他のヒント

最善の方法は、あなたのアプリケーションに真の認証と承認を構築することです。その後、紙を用意していますURLは、ユーザーがそれを提供する前にページを表示することが許可されていることを確認する必要があります。

あなたはcheck.phpでやっているものは何でも、紙のページ自体にそれを行うます。

多くの選択肢.カップル:

  • なエンコードの名論文名、URLが返却の内容は、選択した論文からのページと呼ばれ、test-paper.php.

  • トラックに、ユーザーは、ユーザー開催するセミナーシリーズです。チェックにそれぞれの試験紙ページかどうかは、ユーザが許可されていることを返し403Forbidden(またはエラーページだけます。

多いですよね。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top