タグ

phpに関するIwamotoTakashiのブックマーク (114)

  • UTF-8の冗長なエンコードとは何で、なんでそれがセキュリティ的に危ないのか?を文字コード知識レヴェル3くらいの凡プログラマが考えてみる - tohokuaikiのチラシの裏

    何故かあたり前にならない文字エンコーディングバリデーション | yohgaki's blog ってあるように、いまいち文字コードの不正な判定による危険性ってのが分かってない。 SJISの問題は、(2/3)SQLインジェクションを根絶!セキュア開発の極意 - 第5回■注目される文字コードのセキュリティ問題:ITproの記事がわかりやすかった。 というか、やっぱりPHP使ってると誰でも一度は「なんじゃこの『¥』は?」って思うもんなんで。 なるほど、確かに↓の図のように「あるバイト」が2つの意味を持つっていう文字コード形態はやばいんだなと。 EUC-JPはそんなことはしないで、1つのバイトには1つの意味しか取らせない。 だけど、これでも文字化けが起こることがある。経験的には、「マルチバイトをXX文字で切り落としたい」とかやった場合。ちゃんと文字コードを判定してくれるPHPでいえばmb_subst

  • EC-CUBEはここが酷い。 - zan-gyo’s diary

    最近 EC-CUBE のプログラム修正を仕事でしているわけだが、EC-CUBEのプログラムソースは余りにも酷すぎる。 開発者が初歩的な英単語を理解していない。 「check」が「cheek」になっている等、スペルチェックをしていない。 税額を加算する関数がなぜか「sfPreTax」だったりする。加算するのに「Pre」は無いだろう。 開発者が簡単な論理演算ができない。てか変数名のコピペ複写後の名前変更すらきちんとできない。 SQL文で 製品ID が特定の値で、 規格ID1 と 規格ID2 のどちらかがゼロで無い場合。 ×「product_id = ? AND classcategory_id1 <> 0 AND classcategory_id1 <> 0」 ○「product_id = ? AND (classcategory_id1 <> 0 OR classcategory_id2 <

    EC-CUBEはここが酷い。 - zan-gyo’s diary
    IwamotoTakashi
    IwamotoTakashi 2009/09/09
    「言い出しっぺの法則」とか言ってる人は、自分がコミッタになろうとは思わないのかな。
  • PHP Conference Japan 09

    IwamotoTakashi
    IwamotoTakashi 2009/09/06
    $_REQUEST だの header() だのを省いた非Web向けサブセットがあるといいのかもw
  • シンプルなTwitter検索「findTwitter」を作りました&ソース公開

    AutoPagerize対応したシンプルなTwitter検索「findTwitter」を作りました。 Twitterのつぶやきを検索 機能はシンプルです。テキストボックスに検索したいキーワードを入力して、「検索する」ボタンをクリックするとキーワードに合致したつぶやきを表示します。 「shin1x1」で検索 検索パターンとしては以下のような組み合わせが可能です。 単語で検索。(ex. [CakePHP]) スペースで単語を連結してAND検索。(ex. [PHP カンファレンス]) 「OR」で単語を連結してOR検索。(ex. [shin1x1 OR msng]) 仕組み TwitterAPIを叩いているだけ 仕組みはごくごく単純でTwitterの検索APIを叩いてるだけです。 検索結果はAPIの挙動に依存しているので、検索漏れや古いつぶやきが検索対象にならないなど現象があります。 CakePH

  • 直前レポート | gihyo.jp

    10回目のPHPカンファレンス 今年で10回目を迎えるPHPカンファレンス。今回は「新しいPHPカンファレンス」をテーマとして、9月4日(金)と9月5日(土)の2日間、過去最大のスケールで開催されます。 1日目と2日目で会場が異なります。ご来場の際は、お間違えのないようご注意ください。 9/4(金)日オラクル株式会社 オラクル青山センター 9/5(土)大田区産業プラザPiO また、PHPカンファレンスに参加するためには事前登録が必要となります。残念ながら現在は既に参加登録が締め切られていますが、当日はUstreamでのリアルタイム中継(URLなどは記事の最後にまとめて紹介します)とあわせて、gihyo.jpでも随時レポートを更新していきます。参加できない方もぜひPHPカンファレンス情報をチェックしてくださいね。 初回は事前レポートということで、イベントの見どころなどを紹介していきます。

    直前レポート | gihyo.jp
  • 第3回設計勉強会に参加してきた。 - yokkunsの日記

    昨日、第3回設計勉強会に参加してきました。 妙に年齢層が高くてびっくりしましたが、勉強会、懇親会ともにとても勉強になりました。 勉強会の内容なんですが、何というか、資料と動画があるので、自分がまとめるより、そっちを見た方が良いですね(笑) id:shimookaさん 「うちのサービスの場合」 資料 : http://handsout.jp/slide/1635 ブログ : 第3回設計勉強会をやりました - Do You PHP はてブロ 坂さん 事例紹介:YakiBiki(WIKI) 資料 : 第3回設計勉強会資料 - ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011) ブログ : 2009/08/第3回設計勉強会資料/yakibiki_design.pdf - Glamenv-Septzen.net id:IwamotoTakashiさん Do you HTTP? 資料 : In

    第3回設計勉強会に参加してきた。 - yokkunsの日記
    IwamotoTakashi
    IwamotoTakashi 2009/08/26
    お疲れ様でした。/テーマのせいなのかな。かくいう私がおっさんですが>「妙に年齢層が高くてびっくりしました」
  • PHPのデータ構造 - yokkunsの日記

    配列よりオブジェクトの方がパフォーマンスが良いという話を聞き、気になったので調べてみました。 スカラー変数 まず、PHPのスカラー変数の復習。 PHPのスカラー変数は、以下のように、シンボルテーブルからzval構造体にアクセスして、値を取得します。 <?php $a = 1; ?> 変数のコピーでは、値をコピーするのではなく、同じzval構造体を指し、refcountが1追加されます。 <?php $b = $a; ?> 参照渡しでは、同じzval構造体を指し、refcountが1追加、is_refが1になります。 <?php $b = &$a; ?> 配列 次に配列。PHPの配列は、順番を持ったハッシュです。 配列$aの"x"にアクセスするには、まず$aが指すzval構造体にアクセスし、そのzval構造体のzvalue_value共用体にあるハッシュテーブルから、指定されたキーのzval

    PHPのデータ構造 - yokkunsの日記
  • 第3回設計勉強会の動画 – ねこげっとぷれす

    ねこげっとぷれす NEKOGET PNESKINの開発等PHPな話題を中心に書いていこうと思います。 メニューとウィジェット http://events.php.gr.jp/events/show/83 http://d.hatena.ne.jp/shimooka/20080901/1220245667 今日は第3回設計勉強会に参加してきました。 帰宅後、バタバタしてるので、説明は後で追記するとして、とりあえず公開しちゃいます。 発表に、準備が間に合わず、下岡さんの発表分の頭がだいぶ切れてます(TAT) (=A=).o0(Ustの動画がそのままブログに張れるというのは盲点でした。とても便利。) ■shimookaさん「うちのサービスの場合」 資料:http://handsout.jp/slide/1635 ブログ:http://d.hatena.ne.jp/shimooka/200908

    IwamotoTakashi
    IwamotoTakashi 2009/08/26
    お疲れ様でした!
  • 第3回設計勉強会資料 - ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011)

    第3回設計勉強会(http://events.php.gr.jp/events/show/83)で発表したスライド資料(PDF)を次のURLにUPしました。 http://www.glamenv-septzen.net/view/428 参加された皆様、ご静聴ありがとう御座いました。

    第3回設計勉強会資料 - ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011)
    IwamotoTakashi
    IwamotoTakashi 2009/08/26
    お疲れ様でした。
  • 第3回PHP設計勉強会(テストな話) :: handsOut.jp

    スライド1: うちのサービスの場合~ テストな話 ~2009/08/25@ 第 3 回設計勉強会shimooka@doyouphp.jp スライド2: まずは・・・• アイティメディアさん、会場提供ありがとうございます。• LIND さん、懇親会幹事ありがとうございます。• 参加された皆さん、ありがとうございます :-) スライド3: 自己紹介• id:shimooka です• 所属:株式会社セラン• blog とか– http://d.hatena.ne.jp/shimooka/– http://twitter.com/shimooka– http://mixi.jp/show_friend.pl?id=2905457– http://www.doyouphp.jp/ スライド4: 前回のあらすじ スライド5: は、さっきやったので割愛 スライド6: テストの話 スライド7:

  • 第3回設計勉強会をやりました - Do You PHP はてブロ

    無事、第3回設計勉強会が終了しました。会場を提供して頂いたアイティメディア株式会社さん、ありがとうございました。今回も、id:NEKOGETさんのご協力で、Ustreamでの配信も行えたようです。毎度ありがとうございます!アーカイブがUPされるのは時間の問題かとw 今回は「ustもあるし、誰かメモをガガッとblogに上げるだろう」という予想の元、メモはほぼ取っていません。すみません。 発表資料は、handsout.jpにUPしてあります。 http://handsout.jp/slide/1635 「頑張ってテスト書いたよ」的な内容っぽく見えますが、実はもう1つプレゼンを作ってあって、そちら側は「ガッツリ書いたけど、どうだったの」的な話にしてました。ついでにUPしておきました。 http://handsout.jp/slide/1636 結論としては、「バランス重要」ということで。まあ、「

    第3回設計勉強会をやりました - Do You PHP はてブロ
    IwamotoTakashi
    IwamotoTakashi 2009/08/26
    ありがとうございました!
  • PHPの設定をセキュリティの観点から改善·PHP Security Consortium MOONGIFT

    PHPは広く数多のWebサーバでインストールされ、使われている。設定ファイルは殆どそのままで使われていることが多いのではないだろうか。だが4.2より前のバージョンではregister_globalsのデフォルトがOnになっていたなど、利便性とセキュアであることとの関係で潜在的な問題はあるかも知れない。 php.iniのセキュリティチェックに 見直すのはPHPの設定ファイルであるphp.iniだが、多数の設定があるのでぱっと見では設定の善し悪しが分かりづらいかも知れない。そこで使うのがPHP Security Consortiumだ。 今回紹介するオープンソース・ソフトウェアはPHP Security Consortium、PHPセキュリティ設定を見直すソフトウェアだ。 PHP Security ConsortiumはPHPで作られたソフトウェアで、phpinfo()から得られる情報を使っ

    PHPの設定をセキュリティの観点から改善·PHP Security Consortium MOONGIFT
  • PHP 5.3.0 への移行で脆弱な Web アプリケーションが発生する? - t_komuraの日記

    PHP6移行で増える脆弱なWebアプリ(yohgaki's blog) を読んで、結構気になったので、調べてみました。調べてみた結果、私には特に問題となるような箇所は見つけられませんでした。調べたことについてメモしておきます。 問題 PHP6移行で増える脆弱なWebアプリ(yohgaki's blog) で、PHP 6 への移行で脆弱な Web アプリケーションが発生すると指摘されています。その理由として、以下の2点が挙げられています。 mb_check_encodingで全ての入力文字エンコーディングが正しいかチェックしていない PHP6のhtmlentities/htmlspecialcharにはマルチバイト文字チェックコードが削除される http://blog.ohgaki.net/php6-web さらに、PHP 5.3 でも問題があると書かれています。 追記:PHP5.3のコード

    PHP 5.3.0 への移行で脆弱な Web アプリケーションが発生する? - t_komuraの日記
    IwamotoTakashi
    IwamotoTakashi 2009/07/21
    大垣さんの勘違いならいいんだけど。
  • PHP6移行で増える脆弱なWebアプリ

    (Last Updated On: 2009年9月19日)PHP6のリリースはまだまだ先の話なのですが、PHP6への移行で脆弱なWebアプリが大量に発生する可能性があります。 理由は2つ – mb_check_encodingで全ての入力文字エンコーディングが正しいかチェックしていない – PHP6のhtmlentities/htmlspecialcharにはマルチバイト文字チェックコードが削除される PHPのコードを書いている人も自覚していないと思いますが、この影響はかなりあると考えられます。 近日中にgihyo.jpのセキュリティブログに詳しい情報を記述します。 追記:PHP5.3のコードを見てみたら、バックポートすべきではないのにバックポートされてました。つまり、PHP6がリリースされたらと言う問題ではなく、今ある問題になっています。一応、改修を提案するつもりですがどうなるか判りませ

    PHP6移行で増える脆弱なWebアプリ
    IwamotoTakashi
    IwamotoTakashi 2009/07/20
    わざわざ脆弱な方向にふる理由が分からないなあ。
  • 携帯電話向けWebアプリのセッション管理はどうなっているか - ockeghem's blog

    最近購入したPHP×携帯サイト 実践アプリケーション集を読んでいて妙な感じがしたので、この感覚はなんだろうと思っていたら、その理由に気づいた。書に出てくるアプリケーションは、PHPのセッション管理機構を使っていないのだ。そんな馬鹿なと思ったが、目次にも索引にも「セッション」や「session」という語は出てこない。サンプルプログラムのCD-ROM上で session を検索しても出てこないので、セッションはどこでも使っていないのだろう。 そうは言っても、書にはブログやSNSなど認証が必要なアプリケーションも登場する。書で採用している認証方式はこうだ。 携帯電話の個体識別番号を用いた、いわゆる「かんたんログイン」のみを使う 認証状態をセッション管理機構で維持しない。全てのページで毎回認証する そのため、「iモードID」など、ユーザに確認せずに自動的に送信されるIDを用いる つまり、全て

    携帯電話向けWebアプリのセッション管理はどうなっているか - ockeghem's blog
    IwamotoTakashi
    IwamotoTakashi 2009/07/14
    わっふるわっふる
  • PHP で安定なソート - もやし日記

    標準のソート関数は不安定ソートPHP のソート関数は、同じ順序になる要素(例えば同じ数字)を並び替えたときに、元々の順序が変わる可能性があります(不安定なソート)。不安定なソートだと、五十音順など意味のあるキーで並んでいる配列を並べ替えるときに都合があまりよくありません。 // 元々の順序が変わってしまう例 function cmp_func($a, $b) { if ($a === $b) return 0; return $a $b ? -1 : 1; } $a = array( 'a' => 7, 'b' => 5, 'c' => 3, 'd' => 5, 'e' => 2, 'f' => 5, 'g' => 5, 'h' => 1, ); uasort($a, 'cmp_func'); print_r($a); uasort 関数の実行結果: Array ( [h] => 1 [e

    IwamotoTakashi
    IwamotoTakashi 2009/07/12
    知らなかった…。
  • PHP逆引きレシピは概ね良いが、SQLインジェクションに関しては残念なことに - ockeghem's blog

    404方面でも絶賛されていたPHP逆引きレシピを購入した。書はとても丁寧な仕事で素晴らしいと思ったが、セキュリティに関しては若干残念な思いをしたので、それを書こうと思う。 目次は以下のようになっている。 第1章 準備 第2章 PHPの基構文 第3章 PHPの基テクニック 第4章 ファイルとディレクトリ 第5章 PEARとSmarty 第6章 Webプログラミング 第7章 クラスとオブジェクト 第8章 セキュリティ 8.1 セキュリティ対策の基 8.2 PHPの設定 8.3 セキュリティ対策 第9章 トラブルシューティング 第10章 アプリケーション編 PHP逆引きレシピ オフィシャルサポート 書は、タイトルの示すように、コレコレしたいという目的ごとにPHPでの書き方が書かれている。よくある逆引き辞典タイプのだが、類書に比べて丁寧に書かれている印象を受けた。私が感心したのは、PH

    PHP逆引きレシピは概ね良いが、SQLインジェクションに関しては残念なことに - ockeghem's blog
    IwamotoTakashi
    IwamotoTakashi 2009/07/11
    大賛成>「以下のように書けばよいのではないか」
  • 教科書はいらない - 書評 - PHP逆引きレシピ : 404 Blog Not Found

    2009年07月06日14:30 カテゴリ書評/画評/品評Lightweight Languages 教科書はいらない - 書評 - PHP逆引きレシピ 翔泳社片岡様より献御礼。 PHP逆引きレシピ 鈴木憲治 / 安藤建一 / 山田直明 / 八木照朗 / 山義之 / 河合勝彦 ある意味実にPHP的な一冊。PHPは、これ一冊あれば十分だと強く感じた。 PHPを使うにしても、使わないにしても。 書「PHP逆引きレシピ」は、「PHPでプログラミングを習う」のではなく、「PHPで動くWebサイトを作る」に徹した一冊。PHPは後者に特化した言語である故に、前者には徹底的に向かない。書を読めば、PHPを全く知らないプログラマーにもそれがわかるし、PHPを日時使っている人も、そのことが改めてわかるはずだ。 目次 - | PHP逆引きレシピ オフィシャルサポート より 第1章 準備 1.1 サー

    教科書はいらない - 書評 - PHP逆引きレシピ : 404 Blog Not Found
    IwamotoTakashi
    IwamotoTakashi 2009/07/07
    こういうエントリになることは予想されたが、それでも献本して部数を伸ばしたかったということですよね。
  • PHP on System i5 のご紹介 | 株式会社アミュレット

    現在、サイト構築の主流はPHPとなっています。多くの大手企業が採用し、もはや業界標準となりつつあります。 それには下図のような点が挙げられます。 Linux や FreeBSD 等の多くの Unix 系システム, Microsoft Windows, Mac OS X など主要な OS で動作します。 また、Apache や Microsoft IIS を始めとした多くのウェブサーバをサポートします。

    IwamotoTakashi
    IwamotoTakashi 2009/07/06
    長期的にみれば、よりコストがかかるような。
  • いろいろとオープンにやってみようかと思っている - NetJockey開発記録

    でまあ、単に新しいサービスを作るだけだったら、勝手に作って公開すればいいだけなんだけど、今回はちょっといつもと違った感じで作ろうかと考えている。というのは、ここに書いているような開発過程の情報だけでなく、サービスのソースコード自体もオープンに作ってしまおうかと思っていたりするのだ。ライセンスはまだ決めていないんだけど、基フリーソフトウェア系のライセンスを適用するつもり。 実運用サービスのソースコードを公開してしまうってのはセキュリティ的にどうなんだとか、ソースコードを公開するとなるとその手間がかかってしまって開発が進まないんじゃないかとか、いろいろネガティブ要素はあるんだけど、それでも基的にソースコード公開でやってしまいたいと思っている最大の理由は、個人でサービス運用するのがいい加減きつくなっているから。 趣味でやっているサービスはそれに対するモチベーションがあるうちはいいんだけど、モ

    いろいろとオープンにやってみようかと思っている - NetJockey開発記録
    IwamotoTakashi
    IwamotoTakashi 2009/07/02
    いしなおさん。おもしろい試み。