私はこのような何か使用したので、私は考えていた。..より強固になりフォームセキュリティ&PHP?
<input type="hidden" name="ids" value="1, 3, 5" />
<input type="hidden" name="cost" value="350" />
をしかし、私は誰かがちょうど「3」と言うと$ 3.00それを支払うためのコストを変更することができ、考えていた(SP )オプションは、ページをロードするときにセッションにこれらの値を設定する必要があります。
<?
unset($_SESSION['baskettotal']);
unset($_SESSION['basketids']);
$_SESSION['baskettotal'] = $grand;
$_SESSION['basketids'] = implode(", ", $ids);
?>
<input type="hidden" name="hash" value="<?=md5('stackoverflow'.$_SESSION['baskettotal'].$_SESSION['basketids']);?>" />
<?
if (($_POST['hash']) != (md5('stackoverflow'.$_SESSION['baskettotal'].$_SESSION['basketids']))){
echo "error";
die();
}
?>
これは良い方法ですか?彼らはセッションを編集できないので、簡単に操作できる隠し入力フィールドに格納するのではなく、バスケットの中のwhatsによって定義されます。
ありがとう、素晴らしい答え。私は、ハッシュでIDと価格をソルトすることを考えていました。例えば、$ hash = md5($ ids。$ price)を計算しました。それを秘密のポスト値に入れます。投稿すると、SESSION情報と同じ塩味のハッシュが作成され、投稿された情報と照合されます。 – Latox
OPを新しいコードで更新しました。どう思いますか? – Latox
あなたがしたいことは($ _POST ['hash'])!=(md5( 'stackoverflow'。$ _ POST ['baskettotal']。$ _ POST ['basketids']))))です。新しくPOSTEDしたデータを見て、それを古いハッシュと比較したいとします。 –