Mesmerize
Mesmerize
posted with amazlet at 05.05.23
System Of A Down
Sony (2005/05/16)
通常11~13日以内に発送

きたぁああ!
すごくよい!

ギャァぁあおそかったか・・・。

PEAR :: PEPr :: Details :: Services_Backpack

Interface to Backpack’s XML-API. It provides objects to communicate with Backpack projects, and models that aid in working with return values.

uml_workbook.jpg

JUDE好き野郎なのでDownload時のアンケートに「JUDEさいこー」とか書いてたらUMLワークブックが当たりました!

(良い意味で)教科書みたいな書かれ方で無駄が無いです。

UMLワークブック
UMLワークブック
posted with amazlet at 05.05.21
山田 健志 平鍋 健児
翔泳社 (2003/03)
売り上げランキング: 73,938
通常2~3日以内に発送

PHP Webアプリ開発でのXSSやSQL Injection絡みのクォートだなんだのごっちゃになってて、今まで開発やってきたくせにいまいち明確に分かっていませんでした。
が、正解がやっと分かりました!

正解言っちゃいますけどいいでしょうか?これが正解なので暗記してください。あとお子さんが生まれたら真っ先に教えておいてください。

■問題名

  • 問題
  • 解決策
  • エスケープ対象

■XSS

  • ユーザの入力をHTML内で表示すると危険なスクリプトを実行される可能性がある
  • htmlspecialchars()
  • & , < , >

■SQL Injection

  • ユーザの入力をSQL文に含める場合、危険なSQLが実行される可能性がある
  • addslashes()
  • ’, ””, \, NUL (ASCII 0)

「magic_quotes_gpcはどうした?」という意見があるかもしれません。
magic_quotes_gpcに関してはphp.ini-recommendedに下記の記述があります。

; – magic_quotes_gpc = Off [Performance]
; Input data is no longer escaped with slashes so that it can be sent into
; SQL databases without further manipulation. Instead, you should use the
; function addslashes() on each input element you wish to send to a database.

magic_quotes_gpcはSQLのためにある設定で、パフォーマンス的には切ると上がるのでオススメと。これを使わない場合は自分でaddslashes()。

どっちでもいいんですが、下記の2点からOffにして自分でaddslashes()が正解(とします)!

  • magic_quotes_gpcGet,Post,Cookieの略でその時にクォートされる。値を受け取った後プログラム内でシングルクォートなどを入れてしまう可能性はある。
  • 複数リクエストに渡る場合、そのたびにクォートされるので毎回戻す必要がある。

あーすっきりした!

チャリンコ通勤の友としてお気に入りだったFREITAGですが、
昨日、プロジェクトキックオフミーティングと称した単なる飲み会でデザイナーの人にショッキングなことを聞きました。

ジュソイチロウ日記

最近ハマりまくってるFREITAGなんですが、な、なんと!
月9のドラマ「エンジン」でキムタクが使ってるとか・・・ガーンッ

これで、キムタクの真似して持つ奴が増えまくったり、「それ、キムタクが持ってたやつでしょ?」とか言われたりするの、無茶苦茶イヤなんですけど。

だそうです!
その方も持つのを辞めたとか!

あぁ、おれの知らないところで、

「・・・だって、、、ねぇ?」
「あれってもしかして・・・・・とか・・・・・クスクス・・・・月9が・・・・いかんせん・・・」

とか言われてるんでしょうか!
いやぁぁああ!

freitag.jpg

Backpack: Backpack becomes a web service

Backpack is not just for you to love, but for machines too. The brand new Backpack API makes it possible for other programs to easily talk to your backpack.

こないだ言ってたBackpackがAPIを公開しました。
XML-RPCみたいです。RailsベースってことでサンプルのラッパもRuby。PEAR Services_Backpackとか作ったら通るかなあ

ref: Services_Backpack

Mojavi2.0.0の疑問。
ログを取るレベルやプログラムを終了させるレベルを設定するためのレベルの定数が用意されています。

define('LEVEL_DEBUG', 1000);
define('LEVEL_INFO', 2000);
<strong>define('LEVEL_ERROR', 3000);
define('LEVEL_WARN', 4000);</strong>
define('LEVEL_FATAL', 5000);

これって・・・なんでERRORがWARNより低いんだろう。

switch ($level) {
    case E_USER_NOTICE:
        $this->info($message, NULL, NULL, $file, $line);
        break;
    <strong>case E_USER_ERROR:</strong>
        $this->warning($message, NULL, NULL, $file, $line);
        break;
    <strong>case E_USER_WARNING:</strong>
    default:
        $this->fatal($message, NULL, NULL, $file, $line);
}

この間のバグの部分でシステム発のエラーを拾ってないってところ以外になんでERRORとWARNINGが逆なんだろうと思ってたんですが、コレLEVEL_*の部分と両方とも逆になってたからつじつまがあっちゃってたんじゃないでしょうか。

ref: Mojavi + Smarty Undefined Index地獄

Structurred Blogging: blog.bulknews.net

Sturctured Blogging は実際はいわゆるタギングとはちょっと違い、コンテンツを XML でマークアップして、XML Schema でそれを評価しようという小文字な semantic web 的な試み。実際に WordPress のプラグインが structuredblogging.org で出ています。

小文字なsemantic webって何だろう?

ちょっとしたメモ – 小文字のsemantic web

W3Cの進める「Semantic Web」にはまだリアリティを感じられなくても、自分の文書のマーク付けを工夫して、より正確な情報を提供したいと考えている人は少なくない。RDF/XMLを直に記述するのではなく、従来の(X)HTMLを利用してメタデータの提供を試みようという「小文字のsemantic web」が、静かに広まっている。

なるほど、(X)HTMLのボキャブラリ内で意味付けをしていこうということみたいです。

[を] Blog Hackers Conference 2005 あるよ

私も Lightning Talk でコネタを話します。以下を計画中。

  • タイトル:ブログでアサマシマイニング
  • 概要:自分のブログで紹介したAmazonアソシエイトによる商品の 注文状況を統計的に解析し、データマイニングするという 「アサマシマイニング」について。

Blog Hackers Conference 2005行きます。申し込みました。
最近アサマシで売れてきて興味が出ていたところ。楽しみ!

Connect PHP to DB2 and Cloudscape via PDO

PHP 5.1 is set to ship with a brand-new database connectivity layer known as PHP Data Objects (PDO). While PHP has always had very good database connectivity, PDO takes PHP to the next level. Learn how to obtain, install and use PDO to connect to IBM? DB2? Universal Database? and IBM Cloudscape?

IBM developerworksのPDOでDB2/Cloudspaceの記事。

DB2ってODBC経由になるんですね。
何かおしゃれっぽいので誰か試しに業務でPDO + Cloudscapeやってみて欲しいです。