タグ

2013年12月19日のブックマーク (6件)

  • 俺の脳内選択肢が、SQLインジェクション対策を全力で邪魔している — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something

    PHP Advent Calendar 2013 in Adventarの19日目です。昨日も私の「PDOでの数値列の扱いにはワナがいっぱい(2)」でした。 うっかりtogetterなんか見てしまい、無駄に時間を使ってしまったと後悔した上に混乱してしまい余計にわからなくなってしまった人もいるかも知れません。 そこで、せっかくの機会なので、SQLインジェクション対策について、現在の私の考えをまとめておこうと思います。 選べ ①SQLインジェクション対策にプリペアドステートメントを使う ②SQLインジェクション対策にエスケープを使う もし、上記のような選択にはまってしまったら、あなたのSQLインジェクション対策は、現実的には、ほぼ100%間違っていると言えるのではないでしょうか。プリペアドステートメントとエスケープは、このような対立構造にはありませんから。 なお、この記事は、SQLインジェクシ

  • PDOでの数値列の扱いにはワナがいっぱい(2) — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something

    PHP Advent Calendar 2013 in Adventarの18日目です。昨日は、takc923さんの「PHPのissetの罠」でした。 「PDOでの数値列の扱いにはワナがいっぱい」を書いたところ、以下のように結構反響がありました。 PDOでの数値列の扱いにはワナがいっぱい — A Day in Serenity (Reloaded) — PHP, FuelPHP, Linux or something http://t.co/kDJAWzdMqr | 先日思いっきりハマったところ。 — K.K. (@kkmym) December 16, 2013 他の方も書いてるけど、バインドで型を明示すればおk / “PDOでの数値列の扱いにはワナがいっぱい — A Day in Serenity (Reloaded) — PHP, FuelPHP, Linux or somethin

    Kenji_s
    Kenji_s 2013/12/19
  • そもそもエスケープとは何なのか?

    (Last Updated On: 2018年8月16日)まずエスケープ処理について全て書こう、ということでPHP Securityカテゴリで様々なエスケープ処理について書いてきました。しかし、「エスケープ処理とは何か?」を解説していなかったので解説します。 エスケープ処理は文字列処理の基中の基です。 「エスケープは要らない、知る必要もない」という意見を稀に聞きますが、プログラムに於ける文字列処理とその重要性を理解していないからでしょう。全ての開発者はエスケープ処理の必要性を理解し、確実かつ適切にエスケープできなければなりません。 エスケープ処理の定義 エスケープ処理には複数の役割があります。エスケープ処理とは「エスケープ文字によって、それに続く文字に別の意味を持たせる処理」です。 通常、以下の3つの役割があります。 意味を持つ文字列にエンコードする(文字列に意味を持たせる) キーボー

    そもそもエスケープとは何なのか?
  • お前のAngular.jsはもうMVCではない。と言われないためのTutorial - Qiita

    JavaScriptフレームワークに興味あるし、Angular.jsを使ってみようかな・・・ そんな純真無垢なあなたを混沌の世紀末に引きずり込むのが、ほかでもないTutorialなのです。 TutorialではほぼControllerしか出てこないので、素直にこの通り書いているとまず間違いなく3カウントでControllerにコードが集中するいわゆるFat Controllerになり、せっかくMVCフレームワークも地獄の荒野になります。 実は、Angular.jsでまず目を通すべきなのはDeveloper GuideのConceptual Overviewです。これを読めばどう処理を分割するかがきちんと書かれていますが、以下ではそれ+経験をもとにAngular.jsで正しくMVCを使用するためのポイントをまとめました。 Angular.jsの3原則 1.Controllerはイベントハンド

    お前のAngular.jsはもうMVCではない。と言われないためのTutorial - Qiita
  • FuelPHPでLESSを使えるようにする - あぷすた - iPhoneとWebとプログラミングと

    CSSの記述が5倍速くなると言われているLESSをFuelPHPに入れてみようというお話です。 今回はこちらのFuelPHP用にパッケージ化されたfuel-lessを使用します。クローンしておきましょう。 ⇒ https://github.com/kriansa/fuel-less git clone –recursive git://github.com/kriansa/fuel-less.git 7ステップに分けて実装していきます。 1.assetsまでのパスをdefineしておく まずはassetsまでのパスを次のようにASSETSPATHとして定義しておきます。 public/index.php /** * The path to the framework core. */ define(‘COREPATH’, realpath(__DIR__.’/../fuel/core/’)

  • Apache 2.2.25とRewriteLogのエスケープと日本語 (CVE-2013-1862) - ろば電子が詰まつてゐる

    先日、Apacheの2.2.25がリリースされた(Apache HTTP Server 2.2.25 Released)。 今回のリリースノートを見ると、CVE-2013-1862(mod_rewriteのログ出力の脆弱性)が修正されたらしい。ということでその辺りを少し書いてみる。 Apacheのログ出力エスケープとap_escape_logitem まず予備知識として、Apacheはアクセスログやエラーログのログ出力時に、制御コードなど特殊な文字はエスケープしてファイルに書き出すようになっている。これは、ログをターミナル(端末)上で見るときに、制御コードの混入によって端末が意図しない動作をするのを防ぐためである(ログファイルを見るのはrootが多いだろうから、攻撃がより有効になる)。 この攻撃手法の名前はあんまり統一されていないけど、Terminal Escape Sequence In

    Apache 2.2.25とRewriteLogのエスケープと日本語 (CVE-2013-1862) - ろば電子が詰まつてゐる