0

Codeigniter を使用して Web アプリケーションを作成しています。私が抱えている問題は、フォームを送信する機能にあります。やりたいことは、フォーム内の関数を使ってURLから直接アクセスできないようにしたいので、誰かがフォームからアクションメソッドをコピーしてURLでアクセスすると、アクセスを拒否してしまいます。

これを案内してください。

ありがとうございます。

4

3 に答える 3

3

厳密に言えば、if($_POST)orのようなif($this->input->post())ことをすると 90% のケースで機能しますが、100% 正しいわけではありません。なぜだめですか?実際に何も入力せずにフォームをトリガーした投稿がある場合、その人はPOST.

POST誰かがコントローラーに ing していることを本当に確認したい場合は、 REQUEST_METHOD.

if($_SERVER['REQUEST_METHOD'] === 'POST')
{
    // this is a POST
}
else
{
    show_404('not-a-POST!');
} 

とはいえ、制限することが最良の選択肢である場合はほとんどありません。現実的には、優雅POSTに処理する必要があります。GETPOST

于 2013-09-04T15:35:21.607 に答える
0

これを行うには、$_POST 変数をチェックするだけです。

if(!is_array($_POST) || count($_POST)==0)
{
   die('You have no access');
}
于 2013-09-04T15:31:39.553 に答える