ホーム > タグ > PHP

PHP

PHPモジュールの設定はhttpd.confに書かなくていい

PHPモジュールの設定はhttpd.confに書かなくていいPHPで翻訳三昧
Bookmark this on Livedoor Clip
Bookmark this on Yahoo Bookmark
Bookmark this on Delicious
このエントリーをはてなブックマークに追加

PHP5.4がリリースされたので、久しぶりに
WindowsXPのサーバ関連プログラムをまとめて更新しました。

Apache 2.2.22
Mysql 5.5.21
PHP 5.4.0

PHPをApacheのモジュールに組み込むとこでえらく時間食ったけど
httpd.conf が mime.types や vhosts.conf だけじゃなく
任意の設定ファイルをロードしてくれることに気づいて楽になったメモ。
これみんな知ってたのかな。

どのファイルくらいは書いておかないとロードしてくれないので
httpd.confの最後に追記。ファイル名(httpd-php54.conf)は任意

httpd.conf

#
# PHP5 conf
#
Include conf/extra/httpd-php54.conf

httpd-php54.conf には、
これまで httpd.conf やmime.types に追記してたものをまとめて記載

httpd-php54.conf

#
# PHP 5.4 Add Configration
#
# conf/extra/httpd-php54.conf
#
#
# Add in conf/httpd.conf
#
# Include conf/extra/httpd-php54.conf
# 

#
# mime types
#
AddType application/x-httpd-php .php

#
# php5 module for Apache2.2
#
LoadModule php5_module "E:/usr/local/php54/php5apache2_2.dll"

#
# php.ini directory
#
PHPIniDir "E:/usr/local/php54"

ひとつのファイルにまとめておけるので、
PHPのバージョンが上がったらこれを書き換えるだけで
Apache側の設定が済みます。

もうちょい手を加えるなら
httpd-php53.conf とかも作っておいて
コマンドラインやエディタのコマンド実行から
PHPのバージョン切り替えも出来るね。

オレおれコーディング指針

オレおれコーディング指針PHPで翻訳三昧
Bookmark this on Livedoor Clip
Bookmark this on Yahoo Bookmark
Bookmark this on Delicious
このエントリーをはてなブックマークに追加

PEARなどの有名どころのライブラリーやアプリケーションには
「コーディング規約」としてプログラミングの際の約束ごとがあります。
覚えることが多い頃には正直めんどくさくて見てません、
というより見る余裕がありませんでした。

そんなころに書いたコードにちょっと変更を加えたらエラー連発!
エラーが出るのはマシな方で、エラーも出てないのに
意図した通り動かない!って経験を何度か繰り返してるうちに
「コーディング規約」は必要だよなと思えるようになりました。

まあ、意図した通りに動かなかったのはこんなのでした。

// 本来↓こう書くべきところを
if ($car == 'skyline')

// ↓こうしてしまった単純なタイプミス。
if ($car = 'skyline')

これでも構文エラーにならなのでミスに気づけない、はまってしまうワナ。
もし↓こう書いていれば構文エラーですぐに原因を発見できたのですよ。
if ('skyline' = $car)

大きな時間の浪費につながる単純ミスをおかさないため
絶対やるようになった「オレおれコーディング指針」がこれ。
続きを読む

基礎PHP改訂3版届く

基礎PHP改訂3版届くPHPで翻訳三昧
Bookmark this on Livedoor Clip
Bookmark this on Yahoo Bookmark
Bookmark this on Delicious
このエントリーをはてなブックマークに追加

『基礎PHP 改訂3版』が届きました。
雑誌以外のPHPプログラミング本は久しぶり。

基礎PHPが2冊

2004年発刊の改訂新版も持ってるんだけど
こんときは、PHP5がリリースされてまもないころで
情報が、需要多・供給少だったのを思い出しました。
ずいぶんPHPを取り巻く環境も変わっていまは逆転してる感じ。

改訂新版との大きな違いは
PHP5.0 だったターゲットが PHP5.3に、
最後の課題のアプリケーションがスケジュール管理からブログに、
ベタで書かれてたスクリプトがSmartyやZendFrameworkを
使ったオブジェクト指向ベースのスクリプトに変わってました。

プログラミング入門から動くアプリケーションを作るまで、
元々ひろ~い範囲をカバーしてた本書がますます範囲を広げました。
プログラミング入門者がこれだけ見てアプリケーションを作れるようになる、
という本ではなく、JavascriptとかActionScriptとかクライアントサイドの
プログラミング経験がある人が「いっちょ、サーバーサイドに手を出してみるか。」
といったタイミングで手にすると良いと思う本です。

本文と別に、枠で囲んでちょこっと書いてる
『ヒント』的なやつが好きです。

WordPressテーマに仕込まれるワームが巧妙過ぎ

WordPressテーマに仕込まれるワームが巧妙過ぎPHPで翻訳三昧
Bookmark this on Livedoor Clip
Bookmark this on Yahoo Bookmark
Bookmark this on Delicious
このエントリーをはてなブックマークに追加

こちらの記事に即反応して確かめました。
それらしいものは検索にかからなかったのでほっとしてます。

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

危険度合いもさることながら、巧妙過ぎで容易に気付けないのが恐ろしい。
多彩なテーマがフリーで手に入るWordpresだけに広がりやすくてまた怖い。
注意を促すため書きとめときます。

spamp:掲示板スパムバリデータ出来ました

spamp:掲示板スパムバリデータ出来ましたPHPで翻訳三昧
Bookmark this on Livedoor Clip
Bookmark this on Yahoo Bookmark
Bookmark this on Delicious
このエントリーをはてなブックマークに追加

掲示板スパム対策の取り組みもこれでひと区切りとしたいと思います。
PHPスクリプトのダウンロードとドキュメントはこちらです。
spamp : 掲示板スパムバリデータ

spampは、マルチバイトを含まない投稿をはじく、
投稿出来るURL数を限定する、
プロキシっぽいクライアントを拒否する、
といったフィルタはまったく使っていません。
CAPTCHA(画像認証)やパスワードによる認証でもありません。

掲示板スパムボットのプロファイリングから生まれた
ロジックで判定をおこなっています。

人がやれば簡単に突破できる
極めて単純な仕組みですが自動投稿ロボットにはこれが難しいのです。
いつか新手のロボットが現れるまでの繋ぎとはわかってますが
その時はまたプロファイリングしてロジックを組み直したいと思います。
ロボットを手先に、楽して一発儲けようとしてる
スパム業者なんぞには負けません。

それにしてもここ1ヶ月くらいで
コメントスパムのリクエスト数が激減。多い日でも3件程度に減りました。
このフィルタリングの影響・・・とは考え難いので
他にそれっぽい記事を見ないので
Waledacボットネットの件が影響してたのかな・・・。

さて最後に、WordPressのコメント投稿に
組み込んだ方法を紹介しておきます。
続きを読む

掲示板スパムを5秒でノックアウト

掲示板スパムを5秒でノックアウトPHPで翻訳三昧
Bookmark this on Livedoor Clip
Bookmark this on Yahoo Bookmark
Bookmark this on Delicious
このエントリーをはてなブックマークに追加

昨夜 Spamp の Bata5 をアップしたばかりだけど、気づいてしまったのだ。

掲示板(コメント)スパムボットには
フォームのリクエストから投稿があるまで
大抵1~3秒、長いものでも4秒までという投稿パターンがある。

これを応用して Spamp の セッション判定では
例えセッションが成立してても、あらかじめ設定した「待ち時間」を
経過しない投稿はスパムと判定しているんだけど、
掲示板スパムボットがCookieを送受することを逆手にとって
Cookieにも「待ち時間」を適用できるってことに気づいてしまったのだ。

フォームのリクエスト時にCookie送信。
この時 Cookieには タイムスタンプ を記録。

投稿のあった際、Cookie のタイムスタンプと現在時刻を比較し
待ち時間が経過してなければスパムと判定。

5秒あればスパムをフィルタリングできてしまいます。
これならSpampを使わずともいろんな掲示板に応用できる。
PHPに限らないし、改造もメチャ簡単。
フォームがあるものなら掲示板スパム・コメントスパムに限らずいけます。

SpampではCookieの整合性チェックもやってるので
もしタイムスタンプが改ざんされてもスパムと判定出来ます。
Cookieがなければスルーしてるけど
次はセッションの方でスパムを判定できます。

取り急ぎ、この判定コードを4行書き足してっと、アップし直しました。
Cookie、Javascript、Sessionに依存しないのが特徴。
掲示板スパム対策 ライブラリ Spamp Bata 5.1

ホーム > タグ > PHP

Ad
Apache
MySQL
PHP
お気に入り
ん。。。。。。広告
アーカイブ

ページの上部に戻る