CodeIgniter captcha
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[CodeIgniter]]
#contents
* captchaとは? [#wa4fd2d7]
[[CAPTCHA - Wikipedia>http://ja.wikipedia.org/wiki/CAPTCH...
>CAPTCHA(キャプチャ)は チャレンジ/レスポンス型テストの...
この用語はカーネギーメロン大学のLuis von Ahn、マヌエル・...
CAPTCHAという語は「Completely Automated Public Turing tes...
CENTER:&ref(captcha-antirobot.jpg);
* リンク [#f0bc6659]
- CodeIgniter ユーザガイド 日本語版 › CAPTCHA ヘルパ
http://codeigniter.jp/user_guide_ja/helpers/captcha_helpe...
* CAPTCHA ヘルパ [#u23a0cbd]
CodeIgniterのcaptchaヘルパーを使って、captcha画像を生成し...
** ヘルパのロード [#m2e8b917]
captchaヘルパー関数を使う前に、あらかじめcaptchaヘルパー...
#code(php){{
$this->load->helper('captcha');
}}
** capthca用のデータベーステーブル [#k68e87eb]
captcha情報を一時的にデータベースに保存するため、captcha...
-MySQLの場合
#code(sql){{
CREATE TABLE captcha (
captcha_id bigint(13) unsigned NOT NULL auto_increment,
captcha_time int(10) unsigned NOT NULL,
ip_address varchar(16) default '0' NOT NULL,
word varchar(20) NOT NULL,
PRIMARY KEY `captcha_id` (`captcha_id`),
KEY `word` (`word`)
);
}}
** 設定 [#t48b2e0f]
captcha画像を生成する元データを設定します。
#code(php){{
$vals = array(
'word' => 'Random word',
'img_path' => './captcha/',
'img_url' => 'http://example.com/captcha/',
'font_path' => './path/to/fonts/texb.ttf',
'img_width' => '150',
'img_height' => 30,
'expiration' => 7200
);
}}
| 項目 | 指定 | 内容 |h
| word | 任意 | captcha画像に表示される文字列。指定されな...
| img_path | 必須 | captcha画像が保存されるディレクトリー...
| img_url | 必須 | captcha画像のURL |
| font_path | 任意 | capthca画像に使用するTrueTypeフォン...
| img_width | 任意 | captcha画像の横幅。単位:ピクセル |
| img_height | 任意 | captcha画像の高さ。単位:ピクセル |
| expiration | 任意 | 有効期限。captcha画像が削除されるま...
** captcha画像生成 [#p70c20c3]
captchaヘルパーのcreate_captcha()関数で、captcha画像を生...
- CodeIgniterのコントローラーにおける記述例
#code(php){{
// load
$this->load->helper('captcha');
// config
$vals = array(
'img_path' => './captcha/',
'img_url' => 'http://example.com/captcha/'
);
// create
$cap = create_captcha($vals);
// DB
$data = array(
'captcha_time' => $cap['time'],
'ip_address' => $this->input->ip_address(),
'word' => $cap['word']
);
$query = $this->db->insert_string('captcha', $data);
$this->db->query($query);
// view
echo 'Submit the word you see below:';
echo $cap['image'];
echo '<input type="text" name="captcha" value="" />';
}}
- 送信を受け付ける側のページの記述例
#code(php){{
// delete old captcha 期限切れのキャプチャを削除
$expiration = time()-7200; // 有効期限: 2時間
$this->db->query("DELETE FROM captcha WHERE captcha_time ...
// check キャプチャが存在するか確認
$sql = "SELECT COUNT(*) AS count FROM captcha WHERE word ...
$binds = array($_POST['captcha'], $this->input->ip_addres...
$query = $this->db->query($sql, $binds);
$row = $query->row();
if ($row->count == 0)
{
echo "You must submit the word that appears in the im...
}
}}
終了行:
[[CodeIgniter]]
#contents
* captchaとは? [#wa4fd2d7]
[[CAPTCHA - Wikipedia>http://ja.wikipedia.org/wiki/CAPTCH...
>CAPTCHA(キャプチャ)は チャレンジ/レスポンス型テストの...
この用語はカーネギーメロン大学のLuis von Ahn、マヌエル・...
CAPTCHAという語は「Completely Automated Public Turing tes...
CENTER:&ref(captcha-antirobot.jpg);
* リンク [#f0bc6659]
- CodeIgniter ユーザガイド 日本語版 › CAPTCHA ヘルパ
http://codeigniter.jp/user_guide_ja/helpers/captcha_helpe...
* CAPTCHA ヘルパ [#u23a0cbd]
CodeIgniterのcaptchaヘルパーを使って、captcha画像を生成し...
** ヘルパのロード [#m2e8b917]
captchaヘルパー関数を使う前に、あらかじめcaptchaヘルパー...
#code(php){{
$this->load->helper('captcha');
}}
** capthca用のデータベーステーブル [#k68e87eb]
captcha情報を一時的にデータベースに保存するため、captcha...
-MySQLの場合
#code(sql){{
CREATE TABLE captcha (
captcha_id bigint(13) unsigned NOT NULL auto_increment,
captcha_time int(10) unsigned NOT NULL,
ip_address varchar(16) default '0' NOT NULL,
word varchar(20) NOT NULL,
PRIMARY KEY `captcha_id` (`captcha_id`),
KEY `word` (`word`)
);
}}
** 設定 [#t48b2e0f]
captcha画像を生成する元データを設定します。
#code(php){{
$vals = array(
'word' => 'Random word',
'img_path' => './captcha/',
'img_url' => 'http://example.com/captcha/',
'font_path' => './path/to/fonts/texb.ttf',
'img_width' => '150',
'img_height' => 30,
'expiration' => 7200
);
}}
| 項目 | 指定 | 内容 |h
| word | 任意 | captcha画像に表示される文字列。指定されな...
| img_path | 必須 | captcha画像が保存されるディレクトリー...
| img_url | 必須 | captcha画像のURL |
| font_path | 任意 | capthca画像に使用するTrueTypeフォン...
| img_width | 任意 | captcha画像の横幅。単位:ピクセル |
| img_height | 任意 | captcha画像の高さ。単位:ピクセル |
| expiration | 任意 | 有効期限。captcha画像が削除されるま...
** captcha画像生成 [#p70c20c3]
captchaヘルパーのcreate_captcha()関数で、captcha画像を生...
- CodeIgniterのコントローラーにおける記述例
#code(php){{
// load
$this->load->helper('captcha');
// config
$vals = array(
'img_path' => './captcha/',
'img_url' => 'http://example.com/captcha/'
);
// create
$cap = create_captcha($vals);
// DB
$data = array(
'captcha_time' => $cap['time'],
'ip_address' => $this->input->ip_address(),
'word' => $cap['word']
);
$query = $this->db->insert_string('captcha', $data);
$this->db->query($query);
// view
echo 'Submit the word you see below:';
echo $cap['image'];
echo '<input type="text" name="captcha" value="" />';
}}
- 送信を受け付ける側のページの記述例
#code(php){{
// delete old captcha 期限切れのキャプチャを削除
$expiration = time()-7200; // 有効期限: 2時間
$this->db->query("DELETE FROM captcha WHERE captcha_time ...
// check キャプチャが存在するか確認
$sql = "SELECT COUNT(*) AS count FROM captcha WHERE word ...
$binds = array($_POST['captcha'], $this->input->ip_addres...
$query = $this->db->query($sql, $binds);
$row = $query->row();
if ($row->count == 0)
{
echo "You must submit the word that appears in the im...
}
}}
ページ名: