[CakePHP] パスワードのリセット機能を実装する (1)

先日実装したユーザ登録とログイン認証に、パスワード忘れ時のリセット機能を追加する。

CakePHPバージョンは2.7.3。

参考サイトは以下。

Creating a community in five minutes with CakePHP
http://www.aidanlister.com/2009/05/creating-a-community-in-five-minutes-with-cakephp/

ざっくり処理手順

  • パスワード忘れ画面に登録メールアドレスを入力する
  • パスワードリセットのリンクがメールで送られる
  • リンクにアクセスするとパスワードがリセットされる
  • 新しいパスワードがメールで送られる

tokensテーブルの追加

パスワードリセットのリクエストを一意に識別するために、パスワードリセットのリンクにユニークなトークンを含めることにする。トークン及び紐付けされたユーザ情報を保存するためのtokensテーブルを追加する。

Tokenモデルの作成

(次回へ続く)

[マーケティング] SEOマーケティングに役立つ参考サイト

以下のサイトが参考になったので覚え書きリンク。

Web担当者Forum
http://web-tan.forum.impressrd.jp/

インプレス運営のウェブサイト関連の総合的な情報リソース。企業ホームページとネットマーケティングの実践情報を掲載。SEO/SEM、アクセス解析、CMS、ユーザビリティなど広範囲な内容をカバーしている。

バズ部
http://bazubu.com/

ウェブマーケティング会社が運営するマーケティングメディア。コンテンツマーケティング、WordPress、SEO、ランディングページ、ソーシャルメディア、EC、メルマガなどの記事を掲載している。

LISKUL
http://liskul.com/

中小及びベンチャー企業専門のWebマーケティング支援会社が、リスティング広告をはじめとした、Webマーケティングについてのノウハウを記事として掲載している。

[Webサイト運営] Etsyの事例

以下の記事が大変参考になったので覚え書きリンク。

Etsyを支えるパフォーマンスアラートの技術
~Velocity Conference 2015レポート #1~ – Cybozu Inside Out | サイボウズエンジニアのブログ

http://blog.cybozu.io/entry/8905

Etsyの「失敗から学ぶ文化」
~Velocity Conference 2015レポート #2~ – Cybozu Inside Out | サイボウズエンジニアのブログ

http://blog.cybozu.io/entry/9050

[Webサイト運営] au(ezweb)メール届かない

Webサイトから自動送信の通知メールがauのメアドには届かない(たぶん)、という障害報告あり。受信側のSPAMフィルターがブロックしてるんだろ、と割と軽く考えていたんだけど、調べてみるとDNS絡みの認証要件があるらしい。

以下覚え書き。

送信ドメイン認証SPFレコードについて | EZwebへメール送信する際の注意事項:サービス・機能 | au
http://www.au.kddi.com/mobile/service/mail/attention/spf-record/

「au メール 届かない」はSPFレコードの設定で解決! | 何か作る人のログ
http://tech.bandersnatch.jp/1219

SPF(Sender Policy Framework) : 迷惑メール対策委員会
http://salt.iajapan.org/wpmu/anti_spam/admin/tech/explanation/spf/

SPF設定例(ロリポップ、ムームードメイン) | アスメル技術マニュアル
http://asumeru.net/spf-lolipop-and-mumu

SPFレコード設定 | Workdesign
http://workdesign.jp/data/security/data2394.html

SPFレコードの確認方法 | アスメル技術マニュアル
http://asumeru.net/spf-record-check

SPFレコードの公開 | アスメル技術マニュアル
http://asumeru.net/spf-record

[Apache] 接続数や帯域を制限するには

動画共有サイトやエロ動画サイトなどで、ユーザ当たりの転送量に制限を課しているサイトがある。どうやってるのかなーと思ったら、Apacheだとそういう機能のモジュールが存在するらしい。以下覚え書きリンク。

実用 Apache 2.0運用・管理術(最終回):接続数/帯域制限で無法なダウンローダを撃退 (1/4) – @IT
http://www.atmarkit.co.jp/ait/articles/0602/14/news091.html

このシリーズば他の記事も参考になりそうなので、インデックスも覚え書きリンク。

「実用 Apache 2.0運用・管理術」最新記事一覧 – ITmedia Keywords
http://www.atmarkit.co.jp/ait/kw/jitsuyou_apache_unnyoukannri.html

[Unix] rsyncでWebサイトをディプロイする

Webサイトのディプロイにrsyncを使う事例は多い。以下、試行錯誤の覚え書き。

ファイル単体の同期

ディレクトリの同期

開発ディレクトリから本番ディレクトリへのディプロイ

参考サイト

rsyncの使い方

rsync でディレクトリの同期(バックアップ) – maruko2 Note.
http://www.maruko2.com/mw/rsync_%E3%81%A7%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AE%E5%90%8C%E6%9C%9F%EF%BC%88%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%EF%BC%89

Command Technica:はじめてrsyncを使う方が知っておきたい6つのルール (1/2) – ITmedia エンタープライズ
http://www.itmedia.co.jp/enterprise/articles/0804/21/news013.html

ディプロイでの利用

rsyncでアプリケーションを配備 — ディノオープンラボラトリ
http://openlab.dino.co.jp/2007/10/01/18112887.html

デプロイに rsync を使う | バシャログ。
http://bashalog.c-brains.jp/10/03/19-113949.php

自動同期

ssh + rsync でパスワードなし認証 – おおらかにいこう
http://fuminori14.hatenablog.com/entry/20121002/1349184746

同期設定(rsync)を今一度整理してみました – Qiita
http://qiita.com/mitzi2funk/items/9308db56829d7b4cb90d

rsyncでバックアップいろいろ | 士別三日、即更刮目相待
http://calcabrina.net/archives/88/

[PHP] ZIPファイルの作成と解凍

サーバー上の特定ディレクトリに格納されている全画像を単一ZIPファイルにアーカイブしてダウンロードできるようにしたいという要件あり。PHPでZIPアーカイブを処理する方法を調べたら、ZipArchiveという便利なクラスがあったので試してみる。

圧縮

解凍

参考サイト

PHP: ZipArchive – Manual
http://www.php.net/manual/ja/class.ziparchive.php

[PHP] ZipArchiveクラスを使ったファイルのZip圧縮と展開(解凍) | PHP Archive
http://php-archive.net/php/zip-archive/

[PHP]ディレクトリー(フォルダ)の階層構造を維持したまま圧縮する | PHP Archive
http://php-archive.net/php/zip-directory/

[jQuery] Lazy Load – 画像を遅延ロードするプラグイン

ウェブページに貼られている画像がスクロールされて、ブラウザの表示域に入ったときに初めてロードされることを Lazy Load と言うらしい。Pre-load の反対ね。日本語だと遅延ロードと呼ばれることが多いかな。

最近そういうワザを使ったサイトを目にすることがチラホラあったので、どうやっているのか調べたら手軽に使えそうなjQueryプラグインを見つけたので試してみる。

Lazy Load Plugin for jQuery
http://www.appelsiini.net/projects/lazyload

tuupola/jquery_lazyload
https://github.com/tuupola/jquery_lazyload

使い方

スクリプトの読み込み。

画像は1つずつ以下のように貼り付ける。

そしてキックする。

指定可能なオプションもあり。以下一例。詳しくは公式サイトにて。