0

既存の PHP アプリ (バックエンドは MySQL) に対してユーザー認証を行う「ストレートな」HTML と Javascript を使用して、スタンドアロンの Web アプリを作成するように依頼されました。残念ながら、私は PHP 認証がどのように機能するかをしっかりと把握していません。また、この特定のケースのためだけに PHP の学習に多くの時間を費やしたくありません。

これまでのところ、2つの可能性が見えます

1) 新しいアプリの周りに PHP ラッパーを作成し、ネイティブ PHP 認証を使用します (これは好きではありません)。

2)PHP認証を中心に単純なRESTフルWebサービスを作成します(これを行う方法がわかりません)

他に考慮すべきことはありますか?助けていただければ幸いです。

4

4 に答える 4

1

PHP 認証を行う標準的な方法はありません。通常、セッションに何らかの情報または UID を保存する必要がありますが、一般化するのは困難です。

どのフォームがどこに送信されているかを調べて、既存の認証がどのように機能するかを調べる必要があります。

たとえば、ログインフォームが次のようなものであることがわかった場合

<form id="login" action="login.php">
<input type="text" name"username">
<input type="password" name="password">
</form>

AJAX 呼び出しを使用してフォーム送信をエミュレートできます。

このような呼び出しは、JQuery では次のようになります。

<script>
$(document).ready(function() {
  $("form#login").bind("submit",function() {
    $.post("login.php", "username=INSERTUSERNAMEHERE&password=INSERTPASSWORDHERE");
    return false;
  });
});
</script>
于 2010-06-18T08:24:14.547 に答える
0

これが私がすることです:

$('form#login').submit(function(e){
    e.preventDefault();
    var formValues = $(this).serialize();
    $.ajax({
      url: 'login.php',
      type: 'POST',
      dataType: 'html',
      data: formValues,
      success: function(data, textStatus, xhr) {
        $('.login-response').html(data);
      }
    });
});

あなたのhtmlは次のようになります:

<form id="login" action="login.php">
    <input type="text" name"username">
    <input type="password" name="password">
    <div class="login-response"</div>
</form>
于 2010-06-18T16:00:14.057 に答える
0

PHP認証のようなものはありません。次のいずれかです。

  • HTTP ヘッダーを使用した HTTP 認証。
  • HTML フォームを送信することによる認証。

Web サイトで PHP Web アプリケーションのログイン ページを呼び出し、それが成功したかどうかを確認することができます。

于 2010-06-18T08:22:53.270 に答える
0

「PHP認証」は通常、ユーザー名とパスワードを受け入れ、その後(それらが正しければ)現在のセッションを何らかの形で「ログイン済み」としてマークします。

適切な資格情報を使用して、Ajax 経由でアプリケーションのログイン フォームを送信するだけで十分な場合があります。

于 2010-06-18T08:25:25.333 に答える