0

1 つのファイル「signin.php」にフォームがあり、すべてのバックエンドが「php/signin_back.php」にあります。

フォームがある場合

<form action="php/signin_back.php" method="post">

<input type="text"/>
<!-- more stuff !-->

</form>

ログインすると、フォームは php/signin_back.php に送られ、すべての適切な処理が行われますが、少し遅れてそのページに 1 秒ほど移動します。つまり、URL サイトを読み取ることができます。ログインしているユーザーに URL バックエンド情報が表示されないようにするためのより良い方法は何ですか?フォームと同じファイルにすべてのバックエンド mysql データベースを入れたほうがよいでしょうか?

ありがとう

4

4 に答える 4

1
<?php

if(isset($_POST) && !empty($_POST))
{
    /* process stuff here */
}

?>

<!--
    old page here
-->

このようなものはどうですか?

于 2012-10-13T01:24:10.873 に答える
0

同じページに投稿しますが、投稿が存在する場合は、付属のコントローラーを使用して$_POSTを処理します

于 2012-10-13T03:37:44.583 に答える
0

私の理解が正しければ、セキュリティ関連の理由により、サインインを処理しているページの URL をユーザーが見ることができることを心配している. これは間違ったアプローチです。

ユーザーを 1 つのページに移動させてから、すぐに別のページにリダイレクトすることで、ユーザーが URL を読み取れないほど高速にリダイレクトされることを期待することは、安全対策ではありません。

簡単に言えば、あなたの仕事は、ユーザーが URL を見ることができるかどうかに関係なく、スクリプトを保護することです。彼らがあなたの情報源を掘り下げたいのであれば、とにかくそれを見ることができます.

于 2012-10-13T02:05:39.890 に答える
0

同じファイルまたは宛先ファイルに入れることができます。

またはjqueryを使用し、ajaxを使用して情報を投稿します

于 2012-10-13T01:19:19.687 に答える