0

これは、私が現在 POST 送信アクションを処理している方法です:

<form action="process.php" method="post">
//several form fields 
<input type="submit" name="ok" value="save" />

次に、処理ページに次のようなものがあります。

if(isset($_POST['ok']) && $_POST['ok']=="save")
{
    //process the action, and possibly save to database
}

今、私は悪意のある人がこれを行うのではないかと心配しています (彼らのウェブサイトのスクリプトから)

<form action="http://www.mysite.com/process.php" method="post">
//he can "view source" on my site, view the fields i'm having and put them
//then put the submit button
<input type="submit" name="ok" value="save" />

もちろん、これで私は温かいスープの中にいることがわかります。どうすればよいですか、または POST 送信アクションを処理および処理する最も安全な方法は何ですか?

4

2 に答える 2

2

問題を間違ったレベルで見ています。もちろん、リクエストを行う人 (セッションを持っていますよね?) がリクエストを行うために必要な権限を持っていることを最初に確認する必要があります。HTML フォームには、ユーザーが説明したことを実行するのを妨げるものは何もないため、フォームを送信したユーザーが実際に送信できることを確認する必要があります。

(技術的にはリファラーを確認できますが、それはせいぜい脆弱です)。

于 2013-07-23T10:43:50.370 に答える