the Month of PHP Bugs 始まる 24
ストーリー by yourCat
今月はP 部門より
今月はP 部門より
すっかりシリーズ化した感のある the Month of hogehoge Bugs だが、今月は『the Month of PHP Bugs』が行われている。1日1脆弱性というスタイルはとらないそうで、この文章執筆時点で既に5つが公開されている。yohgaki's blog が日本語訳を公開している。
すっかりシリーズ化した感のある the Month of hogehoge Bugs だが、今月は『the Month of PHP Bugs』が行われている。1日1脆弱性というスタイルはとらないそうで、この文章執筆時点で既に5つが公開されている。yohgaki's blog が日本語訳を公開している。
コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell
最近のhttpd (スコア:2, 興味深い)
# 実害ない?から別にいいんだけど、直せる物は直してほしいなぁ・・・
# そうでなくても、make test で引っかかるバグは結構あったし。
4.4.6 (スコア:2, 興味深い)
それも割と致命的なバグがあるとかで4.4.6のRC1が出て……って
確認したら、3/1に4.4.6が出ているのか。
4.4.4のままで様子見ていたけど、週明けにまた
更新作業やらないといかんなぁ。
Re:4.4.6 (スコア:4, 参考になる)
http://secunia.com/advisories/22653/
4.4.5、4.4.6、どちらのChangeLogにも、"htmlentities"や"HTML entity resources"に対する
修正を意味しているものが見受けられないんですけど…。
問題が見つかったときに、本家のCVSにパッチしたものあげたし、みんな知ってるから、もういいよね、それで終了ということなのかな?
どちらにしろ、そもそも、実際の影響はどうあれ、RHELでも「重要」扱いされ、直ぐに修正版が出た問題に対し、本家の方は正式リリースは放置。自分でCVSからコードを取って、パッチをあてないといけないという時点で腐っている気はします。
まぁ、5系に移行させるという意図から、4系を冷遇しているのかもしれませんが、
5系も5系で5.0の黒歴史っぷりなどを見るに、行くも地獄。残るも地獄って感じですね。
本当に怖いのは... (スコア:2, 参考になる)
PHPの場合、エンコーディングがらみの問題だけでもいくつも問題が明らかになっていますが他の言語の場合は聞いてません。問題など最初からなく完璧なコードだったのか?(あまり考えられない..)、ライブラリのバグなので小さくしか取り扱われて無くて気がつかないとか? 普通のプログラミング言語の場合、エンコーディング変換関数などに問題があっても、ライブラリの問題なので、言語の問題として取り扱われないですよね。
PHPは言語というより簡易フレームワークのようになっていて、普通の言語だと「GDライブラリのコードが腐っていて脆弱性でした」という脆弱性は言語の脆弱性として扱われませんが、PHPだと「セキュリティホールだ」と大々的に公開されますよね。PHPプロジェクトとしてセキュリティ意識の改革は必要ですが、セキュリティ上のまとめてセキュリティ情報が取得できるPHPは一般ユーザの方が使いやすいと言えるかも知れません。
CPANとかRAAとか、納品先のユーザがアップデートしてる?問題があることに気が付ける?PEARはセキュリティ情報を公開していないので最悪ですけど。
the Month of PHP Bugs だって? (スコア:1, 興味深い)
ただでさえ検証→アップデート面倒なのに。
Re:the Month of PHP Bugs だって? (スコア:1)
物件の夏枯れ対策として、年に一回夏季に行え、と?
ここはやっぱり (スコア:0)
とかやらないんですかね。
PHPは糞 (スコア:0)
変数の前の$とか馬鹿みたいだし。
$a = 1;
$b = "2a";
$c = $a + $b;
とかどうなるの?
Re:PHPは糞 (スコア:5, 興味深い)
大抵のプログラマはこの結果に違和感を感じるはずです.
言葉は悪いですがAC氏の指摘どおり,現状のphpはあまりおすすめ出来ません.
言語仕様や実装の詳細を知れば知るほど,phpは怖くて使えなくなります.
また,yohgaki氏のブログに書かれているように
「PHP開発者はこの問題を修正しようと思っていません。数えきれないほどの議論がありましたがPHP開発者はどの解決策も受け入れようとしませんでした。」という話も多いです.
php にはあまり将来性が感じられません.
Re:PHPは糞 (スコア:3, おもしろおかしい)
PHPは次のような特徴がある。
まるで現代の若者のようではないか!
なるほど、現代の若者に人気がある理由に納得がいくというものだ。
Re:PHPは糞 (スコア:0)
1+"2a" が 3 なのがそんなに問題なの? (スコア:2, 参考になる)
型の制約が緩いのが嫌って事???
PHP みたいなスクリプト系の言語では、別に珍しい事ではないと思うのだけど?
文字列として扱ってほしいなら、
$a = 1;
$b = "2a";
echo $a.$b;
として結果 "12a" を得る方法はあるわけで、、、
気持ち悪さで言えば、断然
$a=""; の時の、
switch($a){
case 0 : echo "zero"; break;
case "": echo "empty"; break;
}
とか
switch("$a"){
case 0 : echo "zero"; break;
case "": echo "empty"; break;
}
を挙げるべきじゃないだろうか?
目的の結果を得るには
switch("$a"){
case "0": echo "zero"; break;
case "": echo "empty"; break;
}
としなくちゃならないんだよね、、、
とりあえず、スクリプト系の言語は数あるけど、
比較的 C 言語に近い文法と概念でまとめてあるって意味では、
そう捨てたもんじゃないと思うし、
他の言語よりも利便性は高いくらいじゃないかと思うんだけどなぁ、、、
不満がない言語なんて存在しない思うし、
便利な言語も多数あるわけだけど、
/.jp まで出てきてそこまで明確に駄目出しするんなら、
折角なので、代替案示して欲しい気が、、、
uxi
Re:1+"2a" が 3 なのがそんなに問題なの? (スコア:2, 興味深い)
関係ないですけど、次の変数はそれぞれどのような値になるでしょうか?
$a = 010 + 1;
$b = "010" + 1;
$c = 2e3 + 1;
$d = "2e3" + 1;
Re:1+"2a" が 3 なのがそんなに問題なの? (スコア:1, おもしろおかしい)
# 古い人にはPascalでもいいけど
Re:1+"2a" が 3 なのがそんなに問題なの? (スコア:0)
いまごろ何言ってるんですか。
Re:1+"2a" が 3 なのがそんなに問題なの? (スコア:0)
Re:PHPは糞 (スコア:0)
これは、xUnit系の導入は当然として、
モックオブジェクトでのテスト等もやっていれば
さして問題になるようなことではないでしょう。
フレームワークやツール類で補助すればいいのです。
Re:PHPは糞 (スコア:1)
(今更だが)
Re:PHPは糞 (スコア:2, 参考になる)
$ perl -le '$a=1; $b="2a"; $c=$a+$b; print $c'
3
Re:PHPは糞 (スコア:1, 興味深い)
<?php
$a=1;
$b="2a";
$c=$a+$b;
print $c;
?>
^Z
3
D:\usr\local\php-5.2.0>
Re:PHPは糞 (スコア:0)
print
1===0? '0':
1===1? '1':
1===2? '2':
Null;
答:
print
( ( (1===0? '0': 1===1)?
'1': 1===2)?
'2': Null); <- 最終的にみるのはここだけ。
正直コレはないと思った。
Re:PHPは糞 (スコア:1, おもしろおかしい)
PHP5でも同様ですが、バージョンで演算子の優先順位を変えるような間抜けではなかっただけですな。
結局、PHPそのものではなくて、アレなPHPプログラマが多いってことですか。
-- A.C., nothing more, nothing less.
オフトピ (スコア:0)
Re:オフトピ (スコア:1, 興味深い)