1

Cake でフォーム経由でパラメーターを安全に渡す方法がわかりません。私が現在使用している方法は次のとおりです。

$this->Form->create('Post', array('label' => '', 'action' => '', 'url' => 'inseratAngenommen/'.$postId));

コントローラーには次のようなものがあります。

function inseratAngenommen($id = null, $bs = null){
    //stuff
}

問題は、ユーザーがブラウザで $postId の出力番号を変更できることです。

action="/cakephp/posts/inseratAngenommen/149" 

その場合、HTML では見えないパラメーターを渡したいと思います。それは可能ですか?Form->PostLink が提供するような方法を考えました。何も見つかりませんでした。前もって感謝します。

4

2 に答える 2

0

データはユーザーによって送信されるため、ウェブサイト経由でパラメーターを安全に送信することはできません。

データが正しいことを確認するには、cakephp の検証メソッドを使用します。

于 2013-02-16T17:43:32.107 に答える
0

1] 方法 1: あいまいさを追加: ポストされたフィールドに $id を非表示にするには:

$this->Form->hidden('id');
$this->Form-field('id');  // even this one will do as cake hides ids by default

2] 方法 2: セッションのインスタンスなどのサーバーに ID を保持する

$this->Session->write('current-edited-post-id', $id); // upon form display
$id = $this->Session->read('current-edited-post-id'); // upon form submission

ただし、ユーザーが複数のタブを開き、両方のタブから 1 つのセッションを操作する場合、方法 2 は適切に動作しないことに注意してください :(

于 2013-02-16T17:48:56.703 に答える