[php] ワンタイムURLの作成と登録確認のメール送信

ユーザー登録の確認で、入力されたメールアドレスに有効期限つきのURLが送信されて
そのリンクをクリックしてページを表示して初めて登録が完了するというのがある。
それについてGoogle先生に聞いても具体的に教えてもらえなかったので、想像だけで組んでみた。

send:

  1. ユーザーから送信された登録情報をチェック
  2. エラーがなければトークン作成
  3. トークンを名前にしたテキストファイルをトークンディレクトリに作成
  4. 作成されたトークンファイルに有効期限のタイムスタンプ保存
  5. トークンを追加したURLを本文に書いたメール送信
  6. 送信しましたメッセージ表示

access:

  1. メール送信したURLにアクセスがある
  2. GETでトークン取得
  3. トークンディレクトリから同名のファイルを検索
  4. ファイル作成日+期限と現在時刻の比較
  5. 期限内であればtrue ファイル削除
  6. 期限外であればfalse ファイル削除

フォルダをテーブルにしてファイルをレコードにすればデータベースでも…

続きを読む

ホームページビルダー14でXHTML&HTML5 コーディング

去年「ホームページビルダーで更新出来るようにサイト組んでくれ」と言われ、
カッとなってホームページビルダー13でXHTML+CSSコーディングという記事を書いたんだけど、
あれから1年経ってv14が出たのでまた体験版を触ってみた。

改善点など

大文字で記述されていたタグが小文字記述になっている!
これはアメリカの母国語がフランス語になったくらいの改革ッ…!
どうやら設定の「出力文字」がv13まで大文字だったのがデフォで小文字になった所為らしい。

v13にあったDOCTYPE宣言が勝手に書き換えられてしまう致命的なバグも改善されている。
DOCTYPEはセレクトメニューから各種選べるようになっているので、dtdの有無は好みで変更できるようになった。
しかしxml宣言は相変わらず挿入されてしまう。

設定変更が必須になるが、致命的なバグが直ったのでXHTMLを作成・編集する障害は殆どなくなっている。

続きを読む

[wp] カスタムフィールドで期限日を設定してカウントダウンタイマーを表示

「WordPressで投稿した記事に別途期限日を設定して、その期限日までのカウントダウンタイマーを表示したい」ってな用途に。
晒してるソースはMooToolだけどロジック応用すれば他のフレームワークでも出来るんじゃないかな。

完成形

期限日つきの記事を投稿するカテゴリーを作る。サンプルでは「未分類」の名前を変更してNewsカテゴリとして使用。

WordPressでカウントダウンの表示

投稿サムネイルと共に「○○まであと■■日▲▲時間★★分◆◆秒」と表示する。
時間はJavaScriptでリアルタイムにカウントダウンさせる。

更新されない可能性を考慮して、設定期限を過ぎた場合は過去形にしておくことにした。(javascriptで)

期限を越えた場合の表示

期限越えたとき表示する文字列の設定も出来るようにしておく。

文字列設定

続きを読む

[WP]投稿サムネイルを記事へのリンクやタイトル付きで表示

以前書いた画像サムネイルを投稿された記事へのリンク付きで表示はギャラリーにある画像を表示するものなのだけど、
Wordpress2.9には投稿サムネイルっていう便利機能が備わっているんだよね。
そろそろ投稿サムネイル使う関数に書き直さねば…と思っていたらフォーラムにそんな感じの質問が投稿されていたのでw さらっと書いてみた。
関数はループ外の使用が有効なので、トップに更新情報を出すもよし、サイドバーに表示するもよしです。

サンプル実行デモ

HTML

仕様上リスト要素しか出力されないんで、タイトルとか適当につけてください。

<h3>新着記事</h3>
<div id="newposts">
	<?php postthumb_ancherlinks('category=16,15');?>
</div>

CSS

デフォルトテーマに書いた超適当なソースだけど以下ポイント。

画像がない場合はnoimageというクラスがli要素に付くので、[No Image]画像を背景として指定。
サムネイルのサイズと同じpaddingとwidthを指定して整える。
サムネイルとタイトルの間には改行が入らないので、サムネイルかタイトルをブロック要素にして改行。

#newposts ul {
padding:0;
}
#newposts li {
list-style:none outside;
padding:0;
display:inline-block;
text-align:center;
}
#newposts li img {
display:block;
}

#newposts li.noimage {
background:url(images/noimage.png) no-repeat top center;
padding-top:100px;
width:100px;
}

続きを読む

[wp] WordPressテーマのfunctions.phpに仕込まれるワームについて

配布されたテーマをアクティブにしたことがありますか?もしあるなら既に悪意あるコードが仕込まれているかもしれませんよ。

2chのWordPress (ワードプレス) その15 >>806 より

テーマの安全性のチェックとかってみなさんどうしてますか?

WPとテーマをいくつかいれてから、システム情報みてみたらメールキューがたまってた。
あれ?と思ってキューにたまってるメールみてみたら上記アドレスあてにブログのアドレスを送ろうとしてました。
OB25通る設定してないのでひっかかってたから助かりました。

送ってるファイルの正体はSimple Perfectというテーマのfunction.phpです。
http://kachibito.net/wordpress/free-high-quality-themes.htmlで紹介されてました。
該当アドレスが分割して組み込まれてました。送ろうとしていた情報はの一部は↓です。
457 >——-$sq1=”SELECT DISTINCT ID, post_title, post_content, post_password,
comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type,

WordPress公式の配布サイトからだとこういうのはないんですかね。

私は質問先の【PHP】下らねぇ質問はID出して書き込みやがれ 95を見ていて知ったんだけど、
どうも日本ではまだマイナーなワームなようなので注意喚起ついでに晒してみようと思います。
結論を書きますと、自作でないテーマを1度でもアクティブにした事がある方は、今すぐに怪しいコードがfunctions.phpに仕込まれていないかチェックした方がいいということです。

続きを読む

CSS3 Code Generator

CSS3のソースコードをパパッと出力するジェネレータを作った。
巷には既に超有名ジェネレーターが2つ3つあるんだけど、
ボタンのマウスオーバーとかグラデーションで作るときもプレビュー出来るやつが欲しかったんで、
無いなら作ればいいじゃない理論で擬似クラスにも地味に対応してます。

CSS3 Code Generator

使い方は右上のHelpにちらっと書いてあるんだけど多分初見で使えると思う。
あんまりテストしてないのでバグとかリクエストとかあったらtwitterとかこの記事のコメントとかメールとかで教えて頂けると助かります。

未圧縮ソースはリポジトリに。

続きを読む