2

私はphpファイルに移動するajaxフォームを持っています。ユーザーがphpファイルをURLバーに直接入力できるようにしたくないので、そのphpファイルを入力した場合にどのようにリダイレクトできるでしょうか。単に追加することはできませんheader("location:index.html")またはフォームが機能しません。

<?php
$Reg['E'] = 'Test';

echo json_encode($Reg);
?>
4

1 に答える 1

2

ajax リクエストとその他のリクエストについて技術的に特別なことは何もないため、100% 確実である方法はありません。X-Requested-WithjQuery を使用している場合は、ヘッダーをチェックできます。

if (strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' )

...それ以外の場合はリダイレクトします。また、ランダムmd5ハッシュなどの形式でトークンを配置し、そのトークンがリクエストと共に送信されるかどうかを確認することもできます (値が保存されたセッションと比較して)。これには少なくとも、最初にフォーム ページにアクセスしてトークンを生成する必要があり、「通常の」ユーザーはトークンを取得できません。

于 2013-02-17T21:28:03.663 に答える