Codeigniter を使用しています。私は以下のメソッドを持っています - ユーザーがすべての詳細が記入されたフォームを送信したときの create_client 。
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Admin extends CI_Controller {
public function create_client()
{
// catch all the form data here
//process form data
}
}
この関数は、フォームの送信を受け入れるように設計されています。しかし、誰かが admin/create_client (GET) にアクセスしようとすると、関数を直接実行することもできます。GET文によるフォームデータがないため、エラーとなります。
メソッドが GET 経由でアクセスされないようにするにはどうすればよいですか。1つの解決策は、メソッドにいくつかのチェックを入れることです-
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// do things here
} else {
return false;
}
しかし、私はそのようなメソッドをたくさん持っており、そのようなメソッドをすべて変更したくありません。簡単な方法はありますか?たとえば、このメソッドが POST 関数であり、GET 経由でアクセスできないことを Routes 構成で指定するとします。