タグ

phpに関するkitsのブックマーク (25)

  • PHPの入門書を書くことになりました&レビュアー募集のお知らせ

    PHPの入門書をソフトバンククリエイティブさん出すことになりました。かねがね、PHPの入門書がよろしくないという問題意識を持ち、かつ色々な場でお話ししておりましたが、またしても「言い出しっぺの法則」が発動して、自分で書くことになりました。 PHPの入門書を(たぶん)10冊以上読んで(あるいは眺めて)、以下のような感触を持っています。 ものすごく初歩的なは悪くないが、行き着くゴールが極めて限定される SQLなどまで行き着く入門書は、後述する欠点を持つ傾向がある 中級者・上級者向けについては、良いものが出て来た PHP入門書の欠点というのは以下のようなものです。私の読んだPHP入門書は、次のいずれかに該当します。 執筆者のスキルが低いために説明やサンプルの品質が低い 執筆者のスキルは高いはずだが、説明のスキルが低く、不正確 執筆者のスキルが高く説明も正確だが、初心者には難しく入門書でなくなっ

    kits
    kits 2012/07/06
    大変そうだ。
  • 5分でできるPHPセキュリティ対策 - ぼくはまちちゃん!

    こんにちはこんにちは!! Webプログラミングしてますか! よく「PHPセキュリティがダメ」とか言われてるよね。 でもそれって、べつにPHPが悪いんじゃなくて、 たぶん、セキュリティとかが、まだよくわからない人が多いだけなんじゃないかな。 がんばって勉強しようと思っても、なんだか難しい理屈が並んでいたりするしね…。 なので今日は、セキュリティ対策について、 「これだけやっとけば、わりと安全になるよ」ってことを、初心者むけに、大雑把に書いてみます! 理屈がわからなくても、最初はコピペでも、 なにもやらないより、やったほうがきっとマシになる! 1. XSS対策 動的なものを表示するとき、全部エスケープすればokです! (NG) あなたの名前は <?= $name ?> ですね! ↓ (OK) あなたの名前は <?= htmlspecialchars($name, ENT_QUOTES) ?>

    5分でできるPHPセキュリティ対策 - ぼくはまちちゃん!
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
    kits
    kits 2011/04/19
    bash限定なのだろうか。(PHP manual では単に「シェルコマンドとして実行」との記載。http://www.php.net/manual/ja/language.operators.execution.php )
  • ちょっと気になるので突っ込んでみる - がるの健忘録

    元ネタ 典型的PHPerの13の悪癖 http://anlyznews.blogspot.com/2011/03/phper13.html これの元ネタの「典型的PHPerの13の悪癖 http://anond.hatelabo.jp/20110329150439 」のほうも見ていたんだけど…ちょっと気になったので、突っ込み。 いつもながら当然ながら、以下、すべて「私見」です。 序文。 …おいちゃんは、はたしてPHPerなのだらうか? 仮説1:Yes 最近扱っている(っつか書いている)言語としては、PHPが一番多い。したがってこの瞬間という時間軸において、PHPerであると考えられる。 仮説2:No PHPerとは「PHP言語のみを扱うプログラマ」のことである(要出典)。C、C++PerlJava、C#、VB、JavaScript、ActionScript、Objective-C、CO

    ちょっと気になるので突っ込んでみる - がるの健忘録
  • PerlとPHPにおける「リスト」概念の違い · DQNEO日記

    naoyaさんのPHP版 List_RubyLikeを見ていて面白いことに気づきました。 $list->push('foo'); $list->push('bar','buz'); 一瞬、「なんて美しい!」と思いました。 と同時に、「なんてPerl的な!」とも思いました。 「これじゃまるでPerlじゃないか」と。 私ならこういうインターフェイスにすると思います。 $list->push('foo'); $list->push(array('foo','bar')); 少し冗長ですが、こっちの方がPHPとしてしっくりきます(私にとっては)。 実際にはpush(array('foo','bar'))などとリテラルを渡すことはあまりなくて、push($hoge)とかpush($this->hoge())などと書くことになるでしょう。 この違いを突き詰めていくと、「PerlPHPにおけるリストの

    kits
    kits 2010/09/10
  • PHP6開発 UTF-16化を断念、5.3へロールバック | エンタープライズ | マイコミジャーナル

    PHP: Hypertext Preprocessor PHPの次期メジャーバージョンはPHP6になるとみられてきたが、問題を打破するために開発ブランチを5.3ベースへ巻き戻すという対処が実施された。Rasmus Lerdorf氏がphp.internals: PHP 6においてPHP6 Unicodeの実装が失敗したことを伝えている。PHP6ではエンジン内部の処理がUTF-16に統一される計画になっていたものの、関係者からはこの方針は間違っているのではないかという指摘もあった。今回実装が行き詰まったことで、PHPはUnicodeに対して新しいアプローチをとることになる。 このあたりの事情がFuture of PHP 6 - Johannes Schluterにまとまっている。紹介されている内容をまとめると次のとおり。 これまでの取り組み PHP6で取り組む基的な内容として、PHPエンジ

  • PHPの言語仕様がウンコな理由個人的トップ10 - kなんとかの日記

    PHPerの問題点はPHPしか知らずに的外れなことを言うことだ」と、Javaしか知らなくて的外れなことを言っている連中にすら言われちゃってるPHPerのみなさん、こんにちは。 PHPは「使える道具」であることは事実です。しかし同時に言語仕様がウンコなのも事実。 ここでは、個人的にウンコだと思っているPHPの仕様を挙げてみたよ! htmlspecialchars() の名前が長すぎる これはほんとウンコ。おまえWebアプリのための言語やろが!なんでこの関数の名前がこんなに長いねん!こんだけ長かったらめんどくさがって echo $var としてまうやろが!WordPressのthemeでHTMLエスケープ忘れが多いのはおまえの名前が長すぎるせいだ! そんなわけで、全PHPerはこんな関数を定義するといいと思うよ。 ## echo $var; よりも短く h($var); と書ける! func

    PHPの言語仕様がウンコな理由個人的トップ10 - kなんとかの日記
  • htmlspecialcharsに関する素敵なお知らせ - 岩本隆史の日記帳(アーカイブ)

    外出のため確認が遅くなってしまったのですが、「htmlspecialcharsに関する残念なお知らせ」という記事で触れたバグレポートが、reopenされ、fixされました。 「改善される見込みは薄い」という私の予測は外れたわけで、申し訳ないと思うと同時に、htmlspecialcharsの挙動が改善され、嬉しく思っています。ご尽力いただいた皆様、ありがとうございました。 PHPのバグレポートを初めて書く方へ PHPのバグレポートには、再現コードや期待される結果、実際の結果を書く欄があります。私のレポートでも埋めました。 PHPのコミッタはそれらを読み、バグだと思えばコードを修正するでしょう。また、仕様だと思えば却下するでしょう。私のレポートでいえば、janiさんは仕様と判断され、moriyoshiさんはバグと判断されたわけです。「それでいいのか」という気もしますが、そうなのだから仕方がない

    htmlspecialcharsに関する素敵なお知らせ - 岩本隆史の日記帳(アーカイブ)
  • PHPのSession Adoptionは重大な脅威ではない - ockeghem's blog

    なぜPHPアプリにセキュリティホールが多いのか?:第25回 PHPのアキレス腱にて、大垣靖男氏がPHPSession Adoption問題について取り上げている。大垣氏は度々この問題を取り上げているが、今のところ氏の主張に同調する人を見かけない。それもそのはずで、大垣氏の主張は間違っていると私は思う。 以下、大垣氏の主張を実際に試してみる形で、順に説明しよう。 大垣氏の主張 大垣氏の主張は、PHPにはSession Adoption脆弱性があるために、標準的なSession Fixation対策であるsession_regenerate_id()を施しても、その対策は有効ではないというものだ。 しかし,実際には現在に至るまでPHPのセッションモジュールのセッションアダプション脆弱性は修正されないままになっています。このために,来はsession_regenerate_id関数をログイン

    PHPのSession Adoptionは重大な脅威ではない - ockeghem's blog
  • 冬言響 / 2009-04-10(Fri) : CSS Naked Day 判定

    春 チョーク開けずにエンジンかかったので今日から春。 CSS Naked Day 判定 こないだの続き。なんか時差とか日時関連の関数とかに関して正しく理解出来てない気がしてきた。ので、ちゃんと調べ直したりしてみんとす。 時差。地球は球形で自転してるので太陽が真上に来る時刻は地域によって差が出る。地球を 15 度ごとに 24 分割し、協定世界時 UTC からの差で「UTC+9」「UTC-12」のように表現する。日は UTC+9 で、UTC±0 の英国より 9 時間早く 1 日が始まる。一番早く 1 日が始まるのは例えばキリバス共和国キリスィマスィ島で UTC+14(12 ではなく)。一番遅いのは米国領ベーカー島とかで UTC-12。 +14 なんて半端な数字になってるのは英国の真裏を都合良く縦に真っ直ぐ分割出来なかったから、と思。CSS Naked Day はこの地上のどこかが(今年なら)

    kits
    kits 2009/04/12
    日付計算。「CSS Naked Day はこの地上のどこかが(今年なら)4 月 9 日である間は継続される」
  • 第21回 文字エンコーディングとセキュリティ(3) | gihyo.jp

    前回に引き続き、今回も文字エンコーディングとセキュリティをテーマに解説します。前回は壊れた文字エンコーディングを利用した攻撃、文字エンコーディングを誤認識させる攻撃を紹介しました。今回はSJIS特定の問題を簡単に紹介します。 文字エンコーディングのエスケープ方式を利用する方法 ほとんどの文字エンコーディングは、マルチバイト文字の中に“⁠\⁠”などの特殊文字を含みません。しかし、例外があります。Shift_JISでは“⁠\⁠”がマルチバイト文字に含まれるので、これが原因で脆弱性が発生する場合あります。 SJISの“⁠表” <?php echo rawurlencode(mb_convert_encoding('表', 'SJIS', 'UTF-8')); ?> 出力 %95%5C “%5C⁠”は“⁠\⁠”です。“⁠\⁠”は文字列のエスケープなどに利用される特殊文字です。addslashes関

    第21回 文字エンコーディングとセキュリティ(3) | gihyo.jp
    kits
    kits 2009/01/17
    div要素にwidth, height属性とは初めて見た。
  • 「はじめてのPHPプログラミング基本編5.3対応」のゆるいところ(1) - データベースファイルは公開ディレクトリに格納すべきではない

    先日の日記書籍「はじめてのPHPプログラミング基編5.3対応」にSQLインジェクション脆弱性 - 徳丸浩の日記(2008-10-29)にて、はじめてのPHPプログラミング 基編―5.3対応を取り上げた際に、『その「ゆるさ」のゆえんはおいおい報告する』と予告していた。書くネタは決まっていたのだが、多忙のために果たせていなかったが、今日から少しずつ報告しよう。まずはデータベースの格納場所についてだ。 書ではSQLの説明にSQLiteを使用している。SQLiteは、常駐サービス/デーモンがなく、アクセスライブラリが直接単一のデータファイルを参照する実装となっていて、早い話がACCESS(.mdb)のような実装だ。このデータファイルの置き場所が問題だ。 書には、以下のような記述がある。 現時点でindex.phpSQLiteのデータベースファイルminiblogが同じディレクトリに存在し

    「はじめてのPHPプログラミング基本編5.3対応」のゆるいところ(1) - データベースファイルは公開ディレクトリに格納すべきではない
  • http://note.openvista.jp/2008/problems-about-relational-database/

  • 書籍「はじめてのPHPプログラミング基本編5.3対応」にSQLインジェクション脆弱性 - 徳丸浩の日記(2008-10-29)

    id:hasegawayosuke氏にそそのかされるような格好で、「はじめてのPHPプログラミング基編5.3対応」という書籍を購入した。 書は、ウノウ株式会社の下岡秀幸氏、中村悟氏の共著なので、現役バリバリのPHP開発者が執筆しているということ、下記のようにセキュリティのことも少しは記述されているらしいという期待から購入したものだ。 目次から抜粋引用 07-07 Webアプリケーションのセキュリティ [セキュリティ] 08-04 データベースのセキュリティ [SQLインジェクション] 09-13 セキュリティ対策 [セキュリティ] 書をざっと眺めた印象は、「ゆるいなぁ」というものであるが、その「ゆるさ」のゆえんはおいおい報告するとして、その経過で致命的な脆弱性を発見したので報告する。 問題の報告 それは、書P280に登場する「SQLインジェクション対策用の関数(dbescape)」

  • 偽偽夜食日記: マニュアルでそれ以外の何かであると偽装することが勧められているPHP (2008-09-28 )

    kits
    kits 2008/10/20
    公式マニュアルにそんな項目が!
  • 「SimpleXML」と「JSON」で共通データ形式を便利に (1/2)- @IT

    第2回 「SimpleXML」と「JSON」で共通データ形式を便利に 亀 大地 アシアル株式会社 2008/6/19 PHP4のサポートが終了し、これまでPHP4が中心だった開発現場でも、いよいよPHP5への移行を視野に入れる時期が来た。PHP5ならではの機能を生かした開発を進めるためのポイントを紹介する(編集部) 第1回「例外処理の実装を把握する」では、「try~catch」ブロックと「Exception」オブジェクトを利用した例外処理を解説した。今回からは、PHP5から実装された機能やモジュールの中から、特に便利なモジュールをピックアップして紹介していきたい。まずは比較的メジャーで使いどころも多い「SimpleXML」「JSON」「PDO」といったモジュールを紹介する。 手軽にXMLを扱えるようにしたSimpleXML 共通データ形式にはさまざまなものがあるが、最も一般的なデータ形式

    kits
    kits 2008/06/23
    「数値実体参照」という言葉は無い(文字参照あるいは数値文字参照)。/ マルチバイト文字が文字参照になること自体は別に問題ないと思う。
  • PHPがいかに駄目な言語か、という話。 - Matzにっき(2008-01-26)

    << 2008/01/ 1 1. 年賀状 2. ゴビウス 3. [Ruby] ZSFA -- Rails Is A Ghetto 2 1. 新年会 3 4 1. The Mythical 5% 5 6 7 8 1. [言語] Substroke Design Dump 2. [言語] A programming language cannot be better without being unintuitive 3. [OSS] McAfee throws some FUD at the GPL - The INQUIRER 9 1. [言語] Well, I'm Back: String Theory 2. [言語] StringRepresentations - The Larceny Project - Trac 10 1. [Ruby] マルチVMでRubyを並列化、サンと東大

    PHPがいかに駄目な言語か、という話。 - Matzにっき(2008-01-26)
  • 02nd Jan, 2008 - 冬言響

    (無題) 内容が HTML ソースコードである文字列 $strBody の中に Google 検索結果やら Wikipedia やらへのリンクで日語を含む URI を属性値として持つ href 属性があった場合、その部分だけエンコードしたくて $strBody = ereg_replace("href="([-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+)([^"]+)"", "href="\1" . rawurlencode("\2") . """, $strBody); とかやってみたのだけど意図通りの結果が得られない。ereg_replace() 内で \2 を引数として別の関数に投げてやってもちゃんと受け取ってくれないらしい。受け取ってくれても良いのに。ぐぐってみると他にも同じようなことしようとしてハマってる人がそこそこ居る様子。んで、以下ここ数日悩んで捻り出し

    kits
    kits 2008/01/03
    preg_replace("/href=\"([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)([^\"]+)\"/e", "\"href=\\\"$1\" . rawurlencode(\"$2\") . \"\\\"\"", $strBody); でできそう。
  • 今回のmixiのリニューアルについて - 専門家に聞く [All About プロファイル]

    Web制作・クリエイティブ どこがどう良くなったんでしょうか? 一見のパッと見た目は印象が良くなったかもしれませんが、長時間使い続けるユーザーからすると、見づらく疲れるデザインで、メリハリがないため、エリア視認性がとても悪く、情報把握が非常にしづらいのですが。 専門的にどうなのか詳しく解説していただきたいです。 質問者│サリエル・東京都・男性・35歳 はじめまして クロスウェーブの鈴木です 最初に画面が公開された時は期待したのですが、確かに見づらいものがありますよね。 CSSでのコーディングが中心になり、今後の機能追加でのデザイン追加等が容易になるなどのメリットが運営者側にはあったと思いますが、これではユーザー側のメリットがわかりづらいものがありますよね。 今後の修正に期待していますが・・・ 私の環境でも崩れる場面があり使いづらいです。 評価ありがとうございます 「CS

    kits
    kits 2007/10/07
    自分が持つ(web技術に関しての)All Aboutへの印象が固まりつつある。
  • ウェブマイスターブログ: phpはいけてる?

    明日 第6回アフィリエイトカンファレンス開催 └ pin at 2005.12.02 └ 藍玉 at 2005.12.04 └ Nori(管理人) at 2005.12.14 第2回ECサイト大見市&交流会 └ Jam-Croft at 2005.10.06 └ Nori(管理人) at 2005.10.07 バナーメーカー仮設 └ モア at 2005.10.04 └ Nori(管理人) at 2005.10.06 PHPスクリプト配布開始 └ pin at 2005.09.23 └ Nori(管理人) at 2005.09.24 └ pin at 2005.09.24 複数ブラウザのスクリーンショット └ Jam-Croft at 2005.09.18 └ Nori(管理人) at 2005.09.18 2009年04月(1) 2007年08月(4)

    kits
    kits 2007/06/09
    選択脇