タグ

ブックマーク / blog.ohgaki.net (8)

  • PHP7の現状

    (Last Updated On: 2018年8月13日)PHP7が今年の秋リリースされる予定です。まだまだ多くの変更が行われる予定ですが、現状を簡単にまとめてみたいと思います。代表的な物のみ取り上げています。 ご存知ない方の為に書いておきます。現在リリースされているPHPPHP5です。次のPHPPHP7になり、PHP6はリリースされません。PHP6をUnicodeをネイティブ文字列としてサポートするバージョンとして開発されましたが、文字エンコーディングチェックを内部で自動的に行おうとするなど、無駄が多く遅いため破棄されました。(文字エンコーディングのバリデーションは来アプリでするものです)このため、PHP6はスキップされ次のPHPPHP7になります。 追記:PHP7.0は既にリリースされています。概要はPHP 7.0の概要・新機能・互換性、詳しくはマイグレーションドキュメントをご

    PHP7の現状
    bojovs
    bojovs 2015/02/18
  • 書評: CakePHPによる実践Webアプリケーション入門

    (Last Updated On: 2011年1月9日)このは今年のPHPカンファレンスで景品として頂いたです。 CakePHPと言えば「CakeMatsuriTokyo2009」が10/30, 10/31に開催されます。興味がある方、CakePHPによるWeb開発にさらに磨きをかけたい方は参加されてはどうでしょうか? さて、「CakePHPによる実践Webアプリケーション開発」ですがタイトルの通りのです。PHPとWebアプリ開発の基礎知っている方なら、このを読むだけでCakePHPでどのようにWebアプリケーションを作れば良いのか、解るになっています。このを通してグループウェアの構築が体験できてしまいます。今時のWeb開発に欠かせないテストフレームワークの使い方も紹介しています。 このはオンラインマニュアル等で簡単に入手できる情報は省略されています。CackePHPは全く初

    書評: CakePHPによる実践Webアプリケーション入門
  • Git+SSH+マルチユーザ

    (Last Updated On: 2018年8月14日)格的にSubversionからGitへの移行を行った際に作ったGit+SSHサーバの手順をWikiに書きました。この手順を実行すると SSHの公開鍵を持っているユーザにのみリポジトリへのアクセスを許可 複数あるリポジトリへのアクセス許可を個別に設定 グループを設定して「読み込み」「書き込み」の権限を管理 ができるようになります。 詳しくはWikiのgit sshサーバの構築をご覧下さい。 Subversionの頃はWebDAV+SSL+Basic認証だったので以前と比べればかなり認証の安全性は増したと言えます。

    Git+SSH+マルチユーザ
    bojovs
    bojovs 2009/10/20
  • #PHP でもutf8_decodeは使ってはならない

    (Last Updated On: 2009年9月22日)Twitterで書いた方が良いようなエントリですが、たまには良いでしょう。 #perl – utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 という記事がありました。PHPにも似た関数、utf8_decodeがあります。PHPでも使ってはなりません。日人というよりマルチバイト圏で使っている人はほとんどいないはずです。理由はコードを見れば一目瞭然です。 /* All the encoding functions are set to NULL right now, since all * the encoding is currently done internally by expat/xmltok. */ xml_encoding xml_encodings[] = { { "ISO-

    #PHP でもutf8_decodeは使ってはならない
  • セキュリティ専門家でも間違える!文字エンコーディング問題は難しいのか?

    (Last Updated On: 2018年8月13日)一見徳丸さんのブログは分かりやすいように思えますが、それは単純な実験により分かりやすいように見えるだけで複数の間違いがあります。 その間違いとは 意図の取り違い – 誤読 言語の仕様と実装の理解不足 HTTPやPHP仕様の理解不足 セキュリティ対策をすべき場所の理解不足 です。(※0) 徳丸さんは非常勤とは言え、国の出先機関の研究員であるし、その出先機関は職務放棄とも言える文書(「例えば、PHPを使用しない」と勧める文書)を公開している(いた?)のでしっかり反論しておく必用がありますね。IPAのあの文書は職務放棄と言える文書だと思っています。これについても後で意見を述べます。 意図の取り違い – 誤読 最初の間違いは私のブログのエントリ「何故かあたり前にならない文字エンコーディングバリデーション」に対する理解です。特にPHPユーザに

    セキュリティ専門家でも間違える!文字エンコーディング問題は難しいのか?
  • 何故かあたり前にならない文字エンコーディングバリデーション

    (Last Updated On: 2018年8月8日)私が4年前(2005年)に「Webアプリセキュリティ対策入門」を執筆していた時には、既に壊れた文字エンコーディングなどの不正な文字エンコーディングを利用したJavaScriptインジェクションやSQLインジェクション攻撃は比較的広く知られていました。この問題は当時のスラッシュドットジャパンでも取り上げられていました。/.で取り上げられたので、そこら中のWebサイトとユーザが被害に合うのでは?とヒヤヒヤしたので良く覚えています。 不正な文字エンコーディングを利用した攻撃は、文字エンコーディングを厳格に取り扱い、文字エンコーディングをバリデーションすれば無くなります。これを怠ると、システムのどこで問題が発生するか予想できなくなります。つまり、いい加減に文字エンコーディングを取り扱うと安全なシステムは作れないのです。 参考:エンジニア向けに

    何故かあたり前にならない文字エンコーディングバリデーション
  • 書評:Web+DB Press Vol. 52

    (Last Updated On: 2009年9月19日)随分前に頂いていました。遅ればせながら簡単な書評を書きます。 特集は以下の通り。 特集1 Javaプログラミングの習慣 特集2 Vimの流儀 特集3 データベースシステムの基解剖 SSD投入で何が変わるのか? 「特集1 Javaプログラミングの習慣」ではプログラミング言語にはコーディングの習慣があり習慣を守る事により読み易く分かり易いコードになるとしています。確かにその通りで、現実の世界でも習慣的な言い回しを使う事によりスムーズにコミュニケーションできるようになります。 問題は習慣を知らない人がどうやって習慣を知るのか?です。よく「コードを読め」と言われますが、これはコーディングを知ると同時に習慣を知る為にも必要だからです。 Javaを習得したばかり、時々Javaプログラマの人にとっては有用な記事でしょう。 エディタは必要最小限の

    書評:Web+DB Press Vol. 52
  • 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アプリ
  • 1