タグ

2014年7月22日のブックマーク (11件)

  • PHPにおけるオブジェクトインジェクション脆弱性について — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something

    SQLインジェクションはかなり有名になりましたが、オブジェクトインジェクションはまだあまり聞かないので、まとめておきます。 Dependency Injection(DI)とは関係ありません。 オブジェクトインジェクション脆弱性とは? SQLインジェクションが外部からSQL文を注入する攻撃であるのと同じように、オブジェクトインジェクションとは外部からオブジェクトを注入する攻撃です。 外部からオブジェクトを注入できれば、そのオブジェクトの機能によりさまざまな攻撃ができる可能性があります。最悪の場合、任意のコードを実行できる脆弱性になります。 PHPの場合、この攻撃が可能なのは、unserialize()関数を悪用できる場合です。 攻撃の方法 unserialize()関数に外部から任意のデータを渡すコードがあった場合、攻撃者は自由にシリアライズされたデータを送信することで、生成されるオブジェ

    hamaco
    hamaco 2014/07/22
  • Macで少し生産性の上がるBashエイリアス集 | RickyNews

    Qualityandstyle Macでは基的にターミナルを開けばShellでコントロール可能です。 これがあるから使っている!という人も多いかと思います。 Finderをターミナルにドラッグドロップするとパスが表示されたりなど、 CUIGUIの親和性も非常に高いです。さて個人的に作成した便利なエイリアス達を紹介します。 基的に~/.bashrcや~/.zshrcなどに下記の行をコピーすれば動く簡単な仕様です。 md [Linux/MacOSX] カレントディレクトリにあるmarkdownファイルを全てvimバッファに載せ開きます。 alias 'md'='vim ./*.md' 複数バッファを同時に開きますが、あまりその動きは想定していません。 現在のGitプロジェクト等ではMarkdown形式のREADMEファイルなどが必ず置かれていると思います。 そういったディレクトリに移動

    Macで少し生産性の上がるBashエイリアス集 | RickyNews
  • STFで気づいたら8ヶ月間に及んだオペレーションがいつのまにか終わってた件 : D-7 <altijd in beweging>

    当に手前味噌な話ですけど、STFさん。今回も「あー、俺いいソフトウェア書いた」と満足できたので、この記事を書きます。ちなみにSTFとはみんな大好きPerlで書かれた分散オブジェクトストレージです。(github) tl;dr; ああ、俺いいコード書いた8ヶ月間最初のスクリプトをキックする以外何もしてないけど、18億個のデータを無事格納しおえた去年の夏くらいに「お、そろそろ今ある物理ストレージサーバーのディスク容量一杯になるぞ」という状態が観測されたので 追加のストレージを導入していただいて、そこから「現在格納されているオブジェクト群を新しいストレージにまた均等に均す」というオペレーションを開始しました。もちろんシステムを停止させることができればあっという間に終わる仕事なんですが、ユーザーのデータがのっているので当然止めるわけにはいかないです。そこで システムはオンラインのまま、遅延等を発

    STFで気づいたら8ヶ月間に及んだオペレーションがいつのまにか終わってた件 : D-7 <altijd in beweging>
    hamaco
    hamaco 2014/07/22
    カッコいいなー
  • MySQLがオンラインALTER TABLEでOOM Killerに殺されたはなし | GMOメディア エンジニアブログ

    こんにちは、DBAです。 MySQL5.6のオンラインALTER TABLEでハマった時のおはなしです。 5.6にはオンラインALTER TABLE関連のパラメーターに innodb_sort_buffer_size というものが追加されており(5.5以前はfast index creationが効く時に使われるパラメーターとして内部的に1Mでハードコードされていたものが、設定可能になった)、前にざっくり試したところ 大きくすれば一応それなりの恩恵は受けられそうなので大きくしたんですよ。 毎日の定期バッチで盛大にInnoDBのテーブルにバルクインサートをかけた後にALTER TABLEでインデックスをくっつけてRENAME TABLEでテーブルを切り替える…なんてことをやっているサービスには打ってつけだと思ったわけです(そもそもそのやり方の善悪について やがて DBAは 考えることを止めた

  • DISられないUIを作るために最低限守るべき5つの鉄則 - たごもりすメモ

    ぼくらが迂闊にUIを作ると、そこにはユーザの正直な目線があり、非常に様々な、そして真っ当な反応がある。 曰く「わからん」「まさかそこをクリックするとは」「不思議な動作」「独自宇宙」「モリスUI」。 反応がもらえるのは非常に良いことだが、何度も何度も繰り返しているとつらくなってくるので、できれば避けたい。分かっている(いた)ことは最初から対応しておきたいものだ。*1 ということで、ここではブラウザで操作する管理画面等のWebUIを作るとき、真っ先に心得ておくべき5つの鉄則を紹介したい。これを守っていてもDISられなくなるというわけではないが、これを守らないと間違いなくDISられるので注意しよう。 なおこの記事ではオリジナリティというものについては考慮しない。オリジナリティとか犬にわせろ。 クリックできる場所はcursor:pointerを指定しろ これを忘れるとこの世のものとは思えないくら

    DISられないUIを作るために最低限守るべき5つの鉄則 - たごもりすメモ
  • ゼネコンとITゼネコンとデスマーチと工程修正 - kawaguti’s diary

    よしおかさんがざっくりいいきるときは、だいたい適当なので、突っ込んだ方が損した気になったりするものなので、適当には適当で返しておこうと思います。なのでこちらの話はとても適当ですので、突っ込まれると知識不足が露呈しますが、予めご容赦ください。 システム管理者、感謝の日イベントに参加した。 - 未来のいつか/hyoshiokの日記 どんなプロジェクトも工期通りに終了する。工期が遅延して品質もぼろぼろといういわゆる「デスマーチ」のようなものは建設業ではほとんど起きないそうである。それはやっぱり工事現場だとものが出来ていくのが見えているので、ヤバい問題はわりと早く発見できるかららしい。結局、問題を可視化して、早期に問題を発見し、早め早めに手を打つということらしい。 建築プロジェクトではデスマーチの代わりに工期遅延が起こる ワールドカップやオリンピックごとに、建築間に合うのか問題が起きているのは、日

    ゼネコンとITゼネコンとデスマーチと工程修正 - kawaguti’s diary
    hamaco
    hamaco 2014/07/22
    「よしおかさんがざっくりいいきるときは、だいたい適当なので、突っ込んだ方が損した気になったりするものなので」
  • Sinatra frameworkに関する私見 - ローファイ日記

    エクスキューズとか 正直な話をすると、Webフレームワーク自体に関する興味は以前に比べて失われてきているので、最新のSinatraの細かいコミットまでは追っていない。 だが、2年強ほど Sinatra/Padrino 界隈を追いかけてきて得た知見と言うか考えについてまとめるのは一定の価値がある、少なくとも自分に取っての価値は非常に大きいと思うのでここに書いていきたい。 副次的には、ミスコンセプトによってSinatraを利用して、結果必要の無いイメージの悪化を招く事態を一件でも減らせればと思う。 Sinatraはmicroframework、あるいは「フレームワークではない」 公式の説明にある通りである。 具体的にどういうことかと言うと、Sinatra単体ではウェブサービスに必要な要件を満たさないかもしれないと言う話である。Sinatraが持っていないものについては、Sinatra以外の場所

    Sinatra frameworkに関する私見 - ローファイ日記
    hamaco
    hamaco 2014/07/22
  • livedoor Reader起動時にレートを展開するスクリプトのGreasemonkey 2.0対応版 - ariyasacca(2014-07-21)

    ▼ [雑記]livedoor Reader起動時にレートを展開するスクリプトのGreasemonkey 2.0対応版 必要に迫られて作りました。 LDR Auto Expand All Rating 参考にしたオリジナル版は、展開したいレートを指定できたり、購読フィードの検索ボックスから出たあとも自動展開してくれたりと非常に気が利いてるのですが、その辺りは実装してません。 livedoor Reader起動時に全てのレートフォルダを勝手に展開して終わりという公開厨らしい仕様です。 参考記事 Livedoor Readerで起動/リロード時にフォルダを展開するGreasemonkeyスクリプト - ろ日記 UserScriptのGreasemonkey 2.0対応 - monoの開発ブログ

    livedoor Reader起動時にレートを展開するスクリプトのGreasemonkey 2.0対応版 - ariyasacca(2014-07-21)
    hamaco
    hamaco 2014/07/22
  • Greasemonkey2.0対応 - LDRFullFeed、LDR NG、ldr_keyhack_jkc+n

    Greasemonkey2.0ではFirefoxの変更に合わせて、セキュリティ周りの変更がありました。 それにより、色々なGreasemonkeyがそのままだと動かなくなっています。 Changes to unsafeWindow for the Add-on SDK | Mozilla Add-ons Blog Greasespot: Greasemonkey 2.0 Release UserScriptのGreasemonkey 2.0対応 | monoの開発ブログ 動かない原因は大きく分けて2つあります。 @grant none がデフォルトになった unsafeWindowの挙動が変わった(Firefox側の変更) @grant none @grant - GreaseSpot Wiki UserScriptのGreasemonkey 2.0対応 | monoの開発ブログ に詳しい

    Greasemonkey2.0対応 - LDRFullFeed、LDR NG、ldr_keyhack_jkc+n
    hamaco
    hamaco 2014/07/22
  • Go コードのレビュー時によくされるコメント - GRACEFULEXIT

    CodeReviewComments から Go コードのレビュー時によくされるコメントについて。 gofmt gofmt またはそのスーパーセットである goimports を実行すること。goimports は gofmt に加えて import 行の修正も行う。 コメント文 http://golang.org/doc/effective_go.html#commentary を参照。宣言に対するコメントは少し冗長に見えるかもしれないけど完全な文にする。そうすれば godoc できれいに整形される。次のように説明するものの名前から始めピリオドで終える。 // A Request represents a request to run a command. type Request struct { ... // Encode writes the JSON encoding of re

  • ヤフージャパン、総務省にパブコメを出すも激しく全否定されネットでも十字砲火を浴び炎上(山本一郎) - 個人 - Yahoo!ニュース

    hamaco
    hamaco 2014/07/22