2

私の秘密のデータをhtmlソースに表示せずにPOSTパラメーターを送信する方法を知りたいです。

<input type="hidden" name="url" value="$secretdata">

$secrerdataとして送信する必要がありますが$_POST["url"]、サーバー側で送信したいです。

4

2 に答える 2

3

データがクライアントに届かないようにしない限り、それは不可能です。そうしないと、送信されたデータを傍受するか、HTML ソースを確認するか、JS を使用して非表示にしようとする場合は JS ソースを確認することにより、「秘密」データが常にユーザーに表示されます。

あなたができることは、データを$_SESSION配列に保存し、POST を使用する代わりに、2 ページ目の同じ配列を介してアクセスすることです。もちろん$_POST、いくつかの(悪い)コードがそこにあることに依存している場合は、フィールドを手動で割り当てることができます。

別のオプション (何らかの理由でセッションを使用できない場合にのみ使用する必要があります) は、ユーザーが知らない (つまり、サーバー側のコードでのみ使用される) 秘密鍵でデータを暗号化することです。

明らかに、PHP コードで ( curlを使用して) POST リクエストを送信することもできますが、その場合、リクエストはユーザーの IP から発信されたものではなく、何をしたいかによっては問題になる可能性があります。

于 2013-01-26T14:11:44.317 に答える
2

実際に必要なのはセッションだと思います。そこには、サーバーによってのみ処理され、特定のユーザーに関連付けられているデータを格納できます。

それを使用するにはsession_start()、このデータを利用できる必要があるすべてのページの先頭に配置する必要があります。次に、使用できます

$_SESSION['yourkey'] = 'Something';

このセッションにデータを保存します。$_SESSION['yourkey']他のページと同様に、後で利用できます。

セッションに関するすべての情報は、公式ドキュメントにあります。

于 2013-01-26T14:12:18.893 に答える