OpenPNEのツッコミどころ
OpenPNEでおかしなところを挙げていきます。
携帯電話のメールアドレスが正しく判別できない
携帯のアドレスかどうかを以下のコードで判別してますが、、
webapp/init.inc
// 携帯メールのドメイン名 $GLOBALS['OpenPNE']['KTAI_DOMAINS'] = array( 'docomo.ne.jp', 'ezweb.ne.jp', 'softbank.ne.jp', 'd.vodafone.ne.jp', 'h.vodafone.ne.jp', 't.vodafone.ne.jp', 'c.vodafone.ne.jp', 'r.vodafone.ne.jp', 'k.vodafone.ne.jp', 'n.vodafone.ne.jp', 'q.vodafone.ne.jp', 's.vodafone.ne.jp', 'pdx.ne.jp', 'di.pdx.ne.jp', 'dj.pdx.ne.jp', 'dk.pdx.ne.jp', 'wm.pdx.ne.jp', 'disney.ne.jp', );
webapp/lib/util/util.php
function is_ktai_mail_address($mail) { $pieces = explode('@', $mail); $domain = array_pop($pieces); return in_array($domain, $GLOBALS['OpenPNE']['KTAI_DOMAINS']); }
メールアドレスのアットマーク『@』以降が、$GLOBALS['OpenPNE']['KTAI_DOMAINS']配列にあれば、携帯電話と判断しています。
えーと、これのどこがおかしいの?って思う人がいるかもしれませんね。
「普通に考えたら、これで全部でしょ?まさかiPhoneの『i.softbank.jp』が抜けてるって程度じゃない」
って言ったあなたは『普通』の人です。
『普通』の人以外のアドレスがあるんです。
auの法人向けビジネスメールアドレスは、携帯電話ですが
○○@△△.biz.ezweb.ne.jp
というアドレスです。
LDAP認証のエスケープ漏れ
ここについては、漏れがあったのですが、どこだか忘れました。
確かパスワードのエスケープが足りなかったんだと思います。
LDAP認証を使ってる人は少ないうえ、エスケープ対象文字も5つとごくまれなケースです。
magic_quotes対策の漏れ
webapp/init.inc内で
magic_quotes_gpcについて、$_GET、$_POST、$_REQUESTについては対策がされています。
gpcってGET、POST、COOKIEの意味です。
COOKIEの処理が抜けてます。
OpenPNEではクッキーは重要な使い方はされていないので、カスタマイズするときには注意が必要です。
関連記事
- PHP
- SSL(HTTPS)でファイルのダウンロードができない場合
- Apacheで所有権や書き込み権限があるにも関わらずPermissions deniedが出る場合
- Issue-Tracker [バグ追跡システム]
- 住所や駅名などから緯度経度を取得する
- yumで、より新しいパッケージをインストールする方法(CentOS)
- Softbankの携帯で文字の色を白にするときは注意
- Deprecatedの修正例(POSIX)
- コマンドラインからpearを実行するとエラーが出る 環境変数PHP_PEAR_PHP_BINの設定
- 『crontab -r』でcronの設定を間違って消してしまった場合の対処法
- 個体識別情報・UIDの取得方法
- Firefox、Chromeなどで文字化けを防ぐ方法 ヘッダー情報に文字コードを指定
- PHPで複数の画像をfacebookに投稿する方法
- Windows版PHPのインストール
- ディレクトリが存在するにもかかわらず、『No such file or directory』エラーが出る
- php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolutionの対応
- 携帯電話端末の判別ライブラリ Net_UserAgent_Mobile
- MySQLのソケットエラー
- Fatal error: Call to undefined function imagecreatefromjpeg() の対処法
- Windows版PHPにPEAR・PECLをインストールする
- PHPをコマンドラインから使用する方法
- PCからデコメールを送るときの仕様
- フォーム要素の属性名の『ドット( . )』は『アンダーバー( _ )』に変わります
- インクルードパスを設定する方法
- ファイル操作
- PukiWiki
- cronを実行すると『TERM environment variable not set.』というエラーメールが飛ぶ
スポンサーリンク