Skip to content

Latest commit

 

History

History
319 lines (145 loc) · 5.24 KB

VisualCaptchaComponent.md

File metadata and controls

319 lines (145 loc) · 5.24 KB

VisualCaptchaComponent

VisualCaptcha Component

画像認証画面へのリダイレクト、認証処理を行います。
利用方式、対象アクション、認証要素key名称を指定してください。

利用方式
対象アクション

  • Class name: VisualCaptchaComponent
  • Namespace:
  • Parent class: Component

Constants

OPERATION_REDIRECT

const OPERATION_REDIRECT = 'redirect'

OPERATION_EMBEDDING

const OPERATION_EMBEDDING = 'embedding'

OPERATION_NONE

const OPERATION_NONE = 'none'

Properties

$operationType

public string $operationType = \VisualCaptchaComponent::OPERATION_EMBEDDING

利用方式

  • OPERATION_REDIRECT
    切り替わり方式
    認証が必要な画面を表示する前に、画像認証画面が自動的に表示される方式です。
    画像認証に成功した後、認証が必要な画面を表示します。
    この場合、画像認証画面、認証Postを当プラグインが処理するため、、 利用プラグインは、VisualCaptchaComponentを設定するのみです。
    対象アクション名も指定してください。

サンプルコード

public $components = array(
	'VisualCaptcha.VisualCaptcha' => array(
		'operationType' => VisualCaptchaComponent::OPERATION_REDIRECT,
		'targetAction' => 'answer',
		'identifyKey' => 'Questionnaire'???
	)
)
  • OPERATION_EMBEDDING
    埋め込み方式(デフォルト)
    認証が必要な画面に、画像認証パーツを埋め込む方式です。
    切り替わり方式だと画像認証画面だけが表示されることになるが、埋め込み方式は認証が必要な画面の任意の場所に埋め込めます。
    この場合は、VisualCaptchaComponentを設定、viewファイルへのvisual_captcha.ctpの埋め込み、 正しい回答がされたかのチェックを行う必要があります。

サンプルコード

Controller
public $components = array(
	'VisualCaptcha.VisualCaptcha' => array(
		'operationType' => VisualCaptchaComponent::OPERATION_EMBEDDING,
		'identifyKey' => 'VisualCaptcha'
	)
)
View
<?php
	echo $this->element(
		'VisualCaptcha.visual_captcha', array(
			'identifyKey' => 'VisualCaptcha'
		)
); ?>
  • Visibility: public

$controller

public object $controller = null

call controller w/ associations

  • Visibility: public

$targetController

public string $targetController = null

visual captcha redirect target controller

  • Visibility: public

$targetAction

public string $targetAction = null

visual captcha redirect target controller action

  • Visibility: public

$assetPath

public string $assetPath = null

assetPath /r associations

  • Visibility: public

$imageField

public string $imageField = null

imageField Answer /r associations

  • Visibility: public

$audioField

public string $audioField = null

audioField Answer /r associations

  • Visibility: public

$visualCaptchaAction

public array $visualCaptchaAction = array('plugin' => 'visual_captcha', 'controller' => 'visual_captcha', 'action' => 'view')

切り替えタイプのときの切り替え先画面のURLデフォルト値 デフォルトの画像認証画面では困る場合はこの構造データを変更してください

  • Visibility: public

$returnUrl

public array $returnUrl = array()

認証後戻るURL 切り替え型の時しか使わない 切り替え型で、画像認証成功時戻る先のURL

  • Visibility: public

Methods

initialize

void VisualCaptchaComponent::initialize(\Controller $controller)

Called before the Controller::beforeFilter().

  • Visibility: public

Arguments

  • $controller Controller - <p>Controller with components to initialize</p>

startup

void VisualCaptchaComponent::startup(\Controller $controller)

Called after the Controller::beforeFilter() and before the controller action

  • Visibility: public

Arguments

  • $controller Controller - <p>Controller with components to startup</p>

getReturnUrl

string VisualCaptchaComponent::getReturnUrl()

getReturnUrl get return screen url

  • Visibility: public

check

boolean VisualCaptchaComponent::check()

check input response

  • Visibility: public

generate

string VisualCaptchaComponent::generate(integer $count)

generate visual captcha data and return it

  • Visibility: public

Arguments

  • $count integer - <p>display image count</p>

image

string VisualCaptchaComponent::image(integer $index)

generate visual captcha image data and return it

  • Visibility: public

Arguments

  • $index integer - <p>display image index</p>

audio

\streaming VisualCaptchaComponent::audio()

generate audio captcha data and return it

  • Visibility: public

__utilReadJSON

object VisualCaptchaComponent::__utilReadJSON(string $filePath)

Read input file as JSON

  • Visibility: private

Arguments

  • $filePath string - <p>json file path</p>