0
ページに複数のフォームがあり、奇妙またはランダムに検証されているようです。Securimageのcaptcha - 複数のフォームがランダムに検証されます
- 最初のコードを正しく入力すると、コードが正しく入力されなくなるまで、同じフォームが正しく検証されます。画像をクリックしてリロードするまで、この検証が失敗すると、すべて正常に起動します。
- 最初に処理されたフォームに関係なく、イメージをクリックしてリロードするまで、他のフォームは検証に失敗します。その後、ポイント1のように渡りますが、他のフォームはすべて失敗します。
名前空間が役に立たないようです。
これはview.phpです:
$captcha->setNamespace($bUID);
$captcha->display();
echo $form->text('code'.$bUID, $code);
これはcontroller.phpです:$ BUIDは、ユニークな形のブロック番号である
$captcha->setNamespace($_POST['buid']);
if (!$captcha->check('code')) {
array_push($this->form_errors, $this->error_code);
}
、それは、各フォームフィールドがユニークです。
各フォームが一意であるように見えますが、Securimageイメージはフォームごとに1つずつ作成されるのではなく、1つずつ作成されます。名前空間は何らかの理由で助けにならない。
固有のフォームごとに一意のコードとパスを持つキャプチャ画像を作成する方法はありますか?または、名前空間を正しく使用していないのですか?
ありがとうございます。
有効にした場合secureimageは、セッション変数やクッキーに正しい答えを保存します。新しい呼び出しを生成する各呼び出しはこれを上書きします – pokeybit
setNamespaceは数値のみ可能ですか? – pokeybit
私は$ captcha-> setNamespace((string)$ bUID)を試しました。 - 変わりはない。私が見た例では、セッションやクッキーを使用していません。一意のパスを持つブロックごとにイメージの一意のインスタンスを生成する方法はありますか? – linuxoid