1

HTTPファイルサーバー用に機能するphp認証スクリプトを作成しました。今、私はいくつかの素敵なグラフィックでログインページを書きたいと思います。私は通常、HTML5、javacscript、およびCSSでページを作成します。PHP認証スクリプトを実装する方法がわかりません。これまでのところ、私が知っていると思う2つの方法があります。

  1. ログインページをhtml5とjavascriptで記述し、ユーザーが入力ボックスに名前/パスワードを入力した後、phpスクリプトへのajax呼び出しを使用し、ユーザー名とパスワードをスクリプトに渡し、そのユーザーが認証されたかどうかに応じてphpにtrueまたはfalseを返します。問題は、phpがjavascriptにtrueまたはfalseを返す方法がわからないことです。

  2. index.phpがグラフィックス用のhtml5、javascript、およびcssをロードし、ユーザーが認証されている場合は、htmlファイルサーバー用の通常のindex.htmlドキュメントにリダイレクトするPHPフロントコントローラーモデルを記述します。これに伴う問題は、フロントコントローラーとしてphpを使用することに慣れておらず、通常のhtml5ページであるかのように、特殊効果のためにjavascriptを使用して要素を動的に変更できるかどうかわかりません。

4

3 に答える 3

0

freenode でいろいろと調べた結果、ドキュメントを Web ルートの外に隠し、index.php からのユーザー認証後に、php のようなサーバー側スクリプトでドキュメント自体を提供するのが最善であることがわかりました。

nginx の auth_basic を使用することもできましたが、より強力な暗号化またはハッシュが必要だったため、サーバー スクリプト言語が必要でした。Facebook のような大きな魚は、auth_basic モジュールのような Web サーバー認証を使用すると思いますが、はるかにカスタマイズされ開発されたバージョンです。したがって、私の状況では、ファイルを Web ルートの外に配置します。

于 2012-10-26T05:33:38.537 に答える
0

jQueryライブラリを使用して Ajax リクエストを作成できます。リクエストは次のようになります (これは JavaScript です)。

function submitLogin(enteredUsername, enteredPassword) {

  $.post('login.php', {username: enteredUsername, password:enteredPassword},   
  function(response) {
      if (response.result == true) {
         // success code here
      } else {
         // fail code here
      }
  }, 'json');
}

login.php ファイルには次のコードが必要です。

<?php

$username = $_POST['username'];
$password = $_POST['password'];
//... check username and password here
echo json_encode(array('result' => true)); // this is response, true or false
exit;

?>
于 2012-10-25T02:38:46.827 に答える
-2

最初の解決策を提案します。http://api.jquery.com/jQuery.post/を使用 して、PHP を JavaScript に戻すことができます。

于 2012-10-25T02:31:46.093 に答える