2012-01-12 2 views
0

現在、私たちは顧客がログインする2つのポータルを持っています。私はこれを1つに統合しようとしています。顧客がプライマリポータルにログインして別のボタンをクリックすると、他のシステムに自動的にログオンすることができます。私は以下のようなフォームを作成しました。そこでは、ユーザー名とパスワードがdbから読み込まれます。これは素晴らしいことですが、唯一の問題は、ソースコード内でHTMLを見ることができるため、明らかに安全ではないことです。どのように私は完全に以下を隠すことができますか、またはHTMLの代わりにPHPでこれを行う方法は? PHPのセッションでHTMLフォームの非表示またはPHPへの変換

<html> 
<form method="post" action="https://somesite.com/login.php"> 
    <p><input type="hidden" name="username" id="user_login" value="<?echo "$username"?>" /></p> 


    <p><input type="hidden" name="password" id="user_pass" value="<?echo "$password"?>" /></p> 

<fieldset class="bottom"> 
    <p><input type="submit" value="Log In" name="cdLogin" id="wp-submit" /></p> 
<input type="hidden" name="testcookie" value="1" /> 
<input type="hidden" name="redirect_to" value="" /> 
<input name="action" value="1" type="hidden" /> 

</fieldset> 

+3

"明らかに、ソースコードでHTMLを見ることができるので安全ではありません。" - 間違っています。あなたが最初に*パスワードを持っているので安全ではありません。ユーザーのプレーンテキストのパスワードを持つべきではありません。 – David

+1

パスワードを平文で事前入力しないでください!セキュリティの観点からは、それは本当に悪い習慣です。ブラウザがページをキャッシュすると、たとえば、第三者がパスワードを回復できる可能性があります。パスワードのハッシュを配信し、このハッシュを他のサイトと比較する必要があります。 – Connum

+0

これがロードされた後にこれを提出したくないのですか?これはjavascriptで行うことができ、htmlの表示を排除します。 – kwelch

答えて

0

ストアのユーザー名とパスワードを入力します。ユーザーが2番目のボタンをクリックするとすぐに、php curlを使用して投稿リクエストを送信します。 カールしてポストを行うことについての非常に良い記事はここにあります。http://davidwalsh.name/execute-http-post-php-curl

0

セッションを開始し、両方をセッション変数に格納することができます。セッションが終了したらセッションを解除することを忘れないでください。 PHPセッションのGoogle検索を してください。

0

おそらく、あなたはログインmetodを理解していませんでした。私は私のポイントを説明します: ユーザーが登録しているときに、PHPでユーザーデータをDBに挿入するときは、さらに1行を作成します。それをaccess_keyとか名前をつけてください。その行は、すべてのユーザーの暗号化された一意のキーを意味します。 Imputs>結果が(ユーザーが接続されている場合)結果としてDB>のcorectであるかどうかを確認してください。PHPがセッションを作成し、ユーザーキーをブラウザに保存します。 保護されたページが読み込まれると、PHPはsesionに格納されているキーが適切かどうかを確認し、そのページにアクセスします。 幸運!