タグ

PHPに関するdefiantのブックマーク (256)

  • 文字コードに起因する脆弱性を防ぐ「やや安全な」php.ini設定

    補足 この記事は旧徳丸浩の日記からの転載です(元URL、アーカイブはてなブックマーク1、はてなブックマーク2)。 備忘のため転載いたしますが、この記事は2010年9月27日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり PHPカンファレンス2010にて「文字コードに起因する脆弱性とその対策」というタイトルで喋らせていただきました。プレゼンテーション資料をPDF形式とslideshare.netで公開しています。 文字コードのセキュリティというと、ややこしいイメージが強くて、スピーカーの前夜祭でも「聴衆の半分は置いてきぼりになるかもね」みたいな話をしていたのですが、意外にも「分かりやすかった」等の好意的な反応をtwitter等でいただき、驚くと共に喜んでいます。土曜にPHPカンファレンスに来られるような方は意識が高いというの

  • Oracle Open Source

    Open Source Projects at Oracle Oracle contributes as a leader and as a worker bee to open source communities. Oracle is a supporting member of the Linux Foundation, Cloud Native Computing Foundation, Eclipse Foundation, and the Java Community Process. And Oracle employees contribute to efforts ranging from Java and Linux to Kubernetes and Fn in various GitHub organizations. This is a consolidated

    defiant
    defiant 2010/08/31
  • PHP賛歌

    PHP/セキュリティの専門家として知られるクリス・シフレットさんのブログで紹介されていたのが、Emergent Collective OneによるPHPを讃える歌”PHP Anthem”。ラップで […] PHP/セキュリティの専門家として知られるクリス・シフレットさんのブログで紹介されていたのが、Emergent Collective OneによるPHPを讃える歌”PHP Anthem”。ラップです。 シフレットさんが歌詞を聞き取ってくれています。英語の歌詞はリンク先で。面白いので日語に訳します。歌詞中に適宜解説のリンクがつけられてますので、PHPの勉強にもなるのでは。 オーイェー (オーイェー) (ある日突然そいつはオマエにヒットした。それはまるで…) オーイェー。 今年はとてもPHPだぜ。 左手にはマイク、右手には、冷えたビール。 Apacheをコンパイルしろ。 今やバージョン5、

    PHP賛歌
  • Qdmail - PHP::Mail Library , Quick and Detailed for Multibyte

    hal456トップページ 注意! 業が忙しいため、私は開発・更新には関わっていませんし、ご質問にも対応しておりません。 下記のURLの方々が、引き継いでいただいているので、どうぞそちらをご利用ください。 ライセンスに従えば改変は自由ですが、ホームページでのダウンロードは停止いたします。使い方などについては、参考にされる方もいるかも知れませんので、当面の間、残しておきます。 長らくのご愛顧、誠にありがとうございました。 自分が作成したプログラムが、多くの方に便利に使われたことは、とてもうれしかったです。 2018/1/28 深謝 QdmailをPHP7.0に対応させる Qdmailシリーズのgithub版です。PHP5.4対応 qdmailを新しめのPHPでも動くようにした Qdmailとは Qdmailとは、PHPのマルチバイト環境(特に日語)にて、「文字化けしない」「簡単に"デコメ

    Qdmail - PHP::Mail Library , Quick and Detailed for Multibyte
  • PHPでExcelファイルを読み込む·PHP Excel Reader MOONGIFT

    PHP Excel ReaderはPHP製のオープンソース・ソフトウェア。業務システムなどでは、ユーザが作ったExcelファイルをシステムに読み込ませると言ったニーズが多い。そんな時使われるのはCSVとして出力して読み込ませるという方法だ。 Webブラウザ上に表示したサンプル だがごくわずかなファイルであれば良いが、数百ものExcelファイルを読み込むとなると変換もひと手間になってしまう。そこで使ってみたいのはPHPExcelファイルを読み込むライブラリだ。かなり使えそうなのがPHP Excel Readerだ。 PHP Excel Readerはセルの値だけでなく、太字やイタリックと言った装飾の再現にも対応している。それだけではない。枠線やその色も取得し、再現が出来る。さらに埋め込まれた式を認識して、別なセルの値を参照することもできる。 元ファイル 再現性の高さはデモのExcelファイ

    PHPでExcelファイルを読み込む·PHP Excel Reader MOONGIFT
  • Phpをいじり倒す10の方法

    This document discusses various ways to customize and extend PHP beyond its typical usage as a templating language. It explores how PHP's opcode cache, extensions, object model, and virtual machine can be leveraged. It also provides examples of PHP's lexer, parser, and how opcodes are generated from PHP code.Read less

    Phpをいじり倒す10の方法
    defiant
    defiant 2010/04/06
  • 261001’s gists

  • コーポレートサイトに。軽量な日本製CMS·BaserCMS MOONGIFT

    BaserCMSはPHP製のオープンソース・ソフトウェア。CMSと言えば世界ではDrupal、日ではxopps cubeなどが有名だ。さらにWordPressやMovableTypeもCMSとして良く挙げられる。汎用的なCMSは様々なサイトに対応できる利点もあるが、逆に固定の形が決まっていないために無駄も多くなる。 デフォルトの表示も奇麗 目的が決まっているならば、それに特化したCMSを導入するというのも一つの手だろう。BaserCMSはコーポレートサイト構築にちょうど良い作りになっているCMSだ。とは言えプラグイン機能やフレームワークにCakePHPを採用したことによるカスタマイズ性も保持している。 BaserCMSが提供する主な機能はユーザ、ニュース、ページ、お問い合わせ、フィードといった情報を管理できるようになっている。訪問者向けの画面ではトップページにニュースリリースが表示され、

    コーポレートサイトに。軽量な日本製CMS·BaserCMS MOONGIFT
  • Modern PHP Programming @ PFI Seminar

    6. PHPの特徴 (2) math JSON XML HTTP なんでも入り なんでも関数 MySQL なんでもバンドル ... ./configure –help 362 行 --enable-hoge でだいたい入る 最近のLinux パッケージだと php5 でコア, php5-mbstring で mbstring 拡張,など機能単体 でパッケージになっている 7. PHPの特徴 (3) 神がかったドキュメント 更新速すぎ 開発中機能とかもドキュメントがあったりする サンプルコードつき コメントつけられる 日語訳速すぎ TIPS php.net/fopen fopen があればマニュアルにリダイレクト なければ検索結果

    Modern PHP Programming @ PFI Seminar
  • この先生きのこるには

    Twitter / Yoshinari Takaoka: (´ー`; )マジで仕込んだのかコナミコマンド – … な、なんだってー!? 実行すると実行結果 on Flickr – Photo Sharing!のようになる。 ソースコードを見ると以下のような行が追加されてた。 php_konami.gifっていうファイル名がいいですね。

    この先生きのこるには
  • [Perl][PHP][SQL]: quoteメソッドの数値データ対応を検証する - 徳丸浩の日記(2009-10-19)

    _quoteメソッドの数値データ対応を検証する このエントリでは、PerlDBI、PHPのPDO、MDB2にて用意されているquoteメソッドが数値データをどのように扱えるかを検証しました。結論としてMDB2が合格、それ以外は不合格で、とくにDBD::mysqlを使用した場合、脆弱性といってもよいような結果となりました。 概要 DBI、PDO、MDB2は、いずれもデータベースアクセスを抽象化したモジュール(クラス)であり、汎用的な記述によりさまざまなデータベースを利用できるように工夫されています。これらモジュール(クラス)にはquoteというメソッドが用意されています。DBIのquoteメソッドの呼び出し例を示します。 my $dbh = DBI->connect('DBI:mysql:dbname:localhost', 'user', 'pass'); print $dbh->quo

  • htmlspecialchars/htmlentitiesはBMP外の文字を正しく扱えない

    補足 この記事は旧徳丸浩の日記からの転載です(元URL、アーカイブはてなブックマーク1、はてなブックマーク2)。 備忘のため転載いたしますが、この記事は2009年10月14日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり PHPの安定版(PHP5.3.0、PHP5.2.11)のhtmlspecialcharsおよびhtmlentitiesには、Unicodeの基多言語面 (BMP)範囲外の文字、すなわち、U+10000以降の文字を正しく扱えない問題があります。 もっともシンプルな再現コードを以下に示します。 <?php $c = "\xF0\x90\x80\xBC"; // U+1003C $a = htmlspecialchars($c, ENT_QUOTES, 'UTF-8'); echo bin2hex($a) .

    defiant
    defiant 2009/10/14
  • Text_VariationProducer - openpear

    Text_VariationProducer Subversion Repository: http://openpear.org/repository/Text_VariationProducer / Latest Release: 0.1.1 Text_VariationProducerは、指定した全組み合わせの文字列を作り出すようなイテレータです。 任意の文字列の組み合わせを比較的簡潔に記述できます。また、Text_VariationProducerはSPLのイテレータを実装しているため、foreach文で簡潔にループを記述できます。 他の特徴としては、必要になってから文字列を生成し、生成した文字列を即座に破棄する点が挙げられます。全ての組み合わせを一度に生成するよりもメモリ消費が抑えられ、組み合わせ数が多い場合(数十万から百万程度)でも現実的に動作します。 さらに、クラス定数で便利

    defiant
    defiant 2009/10/13
  • htmlspecialcharsのShift_JISチェック漏れによるXSS回避策

    補足 この記事は旧徳丸浩の日記からの転載です(元URL、アーカイブはてなブックマーク1、はてなブックマーク2)。 備忘のため転載いたしますが、この記事は2009年10月9日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり このエントリでは、PHPhtmlspecialchars関数の文字エンコーディングチェック不備をついたクロスサイト・スクリプティング(XSS)脆弱性について、PHP側のパッチが提供されない状況での回避策について説明します。 何が問題か PHPにおいて、XSS対策にはhtmlspecialcharsによって記号をエスケープすることが行われますしかし、htmlspecialcharsを利用していても、Shift_JISの先行バイトを利用して、XSSが発生する場合があります。 例えば、以下のようなINPUTがあ

  • http://twitter.com/i0n1c/status/4705129319

    http://twitter.com/i0n1c/status/4705129319
  • Executing scripts on a remote machine - Marigan's Weblog

    defiant
    defiant 2009/10/01
  • htmlspecialchars - 第45回PHP勉強会@関東 :: handsOut.jp

    スライド1: htmlspecialchars() についてkomura第45回 PHP 勉強会@関東(2009.08.01) スライド2: 自己紹介1. PHP暦(a) PHP 4.0.4 ~(2002年?)(b) 最近はPHPでスクリプトを書くよりPHPのソースを読んでいる時間の方が長い2. Webページ,日記など(a) t_komuraの日記http://d.hatena.ne.jp/t_komura/(b) 個人的なメモと備忘録http://www.asahi-net.or.jp/~wv7y-kmr/(c) PHPとWebアプリケーションのセキュリティについてのメモhttp://www.asahi-net.or.jp/~wv7y-kmr/memo/php_security.html(d) PHPのmbstringに関するメモhttp://www.asahi-net.or.jp/~

  • t_komuraの日記

    以下の徳丸さんの記事を読んで、以前にmb_send_mail()の関連で調べたことがあったのを思い出しましたので、少し書きます。 PHPだってシェル経由でないコマンド呼び出し機能が欲しい 環境は Unix 系の OS で OS コマンドを使用してメールを送信する場合です。メール送信コマンドは php.ini で sendmail_path を設定します(デフォルト: "sendmail -t -i")。 mb_send_mail関数(mail関数も同様)ですが、第5引数(additional_parameter)にユーザの入力を使用する場合は注意が必要です。mb_send_mail関数の第5引数は、内部でescapeshellcmd(内部関数名:php_escape_shell_cmd)によって引数の文字列全体がエスケープされます。 escapeshellcmd() は、以前に徳丸さんから

    t_komuraの日記
  • 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
  • PHP をテンプレートエンジンとしてもっと頑張らせるパッチ - moriyoshiの日記

    これは発表中に紹介したものだけど、「意欲的」な内容の割におもしろさが伝わらなかった気がするので改めて紹介。 きょうび論理構造を無視して、純粋に入力を文字列として扱うテンプレートエンジンっていらねーって思いませんか? PHP はテンプレートエンジンとしてもっと進化するべきと思いませんか? ということなので、 <?php $a = << ?> <?html> <head> </head> <body> <?div id="{$a}" style="..."> </?div> </body> </?html> <?php var_dump($a); ?> のようなテンプレートを解析して、直接配列として変数に突っ込めるパッチを書いたという話。 要は <?html> <head> </head> <body> <?div id="{$a}" style="..."> </?div> </body>

    PHP をテンプレートエンジンとしてもっと頑張らせるパッチ - moriyoshiの日記
    defiant
    defiant 2009/09/08