は、私たちがこのこれはクロスサイトフォーム注入の安全なソリューションですか?
<?php
session_start();
$_SESSION['token'] = rand(0, 6000000);
echo '
<form method="post" action="submit.php/?token='.$_SESSION['token'].'">
...
</form>
';
?>
そしてフォームハンドラsubmit.php
<?php
if($_GET['token'] == $_SESSION['token']) {
//form is valid, do stuff
} else {
header("Location: index.php");
//give the attacker boot
}
?>
のようなフォームは、このフォームは、フォームが第三者にhttp://somesite.com/submit.php?token=non-genuine-number
に要求を提出し実行することにより、偽造できる方法はあります持っている想像してみてウェブサイト? $_SESSION
トークンのデータが生成され、偽装されている可能性がありますが、正しいセッションデータがない場合は、本物のサイトのリンクをクリックして管理者を欺くことを話していません。
6000001チャンスで1、私は思います。 – Blake
@ブレイクどのくらい正確? AFAIKは、ターゲットサイトのサードパーティサイトから$ _SESSIONデータを生成する方法がないため、セッションベースである可能性があると判断したとしても、$ _SESSION ['token']は本物私が言ったように、サイトが空であると思うのは、フォームを編集してセッションのトークンを推測/修正しようとした途中で管理者を中傷した場合です。 –