2
私はzendフレームワークで作業しています。ビューで私はアクションヘルパーを使用します。アクションコントローラへの直接アクセスを防止する
echo $this->action('info', 'comment', null, array('articleID' => $article->arti_id));
ので、ヘルパーコール 'CommentController' クラスとメソッド 'infoAction'。私のメソッドの中で私は 'articleID'パラメータを取得し、私はモデルでプロセスを開始します。最後に私は共有ビューをレンダリングします。
public function infoAction() {
$articleID = $this->getRequest()->getParam('articleID');
// Working with model
// .....
$this->renderScript('/View/Script/DefaultComment.phtml');
}
それはうまく動作しますが、私はこのコントローラ/アクションは、URL domain.com/comment/info
から直接アクセスすることを望んでいません。
どうすればこの問題を回避できますか?
Thxを
はいまだアクセス可能に: //domain.com/comment/info?articleID=1 –
真ですが、あなたのコードソースにURLが表示されているため、このページに直接アクセスするためのセキュリティ上の脅威であってはなりません。しかし、ブローカのページが発生した可能性があります。アクション()が非常に高価で、この種のアクションを実現するためにビューヘルパーがより適切であることを知る必要があります。 – Liyali
最後に、私はヘルパービューを作成し、私はビューをレンダリングします。あなたが言うように、コントローラはパブリック/アクセス可能なままでなければなりません。私のヘルパーはより保護されています。ありがとうございました –