タグ

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

  • PostgreSQLを使うならZFS

    (Last Updated On: 2018年9月2日)PostgreSQLを使うならZFSで決まりです。数値で明らかです。ZFS以外を使うのは論外なくらいの性能差があります。 TL;DR; PostgreSQL(他のデータベースでも)はZFSで使いましょう。 ベンチマーク環境 ハードウェア CPU: Xeon E3-1230 v5 @ 3.40GHz MEM: 32GB ECC HDD: HGST 7200 rpm HDD – HDS721010CLA332 SSD: Crucial CT250MX200SSD HDDは古く、SDDの性能も良いとは言えない物です。 ソフトウェア OS: Fedora 27 Kernel: 4.14.8-300.fc27.x86_64 ZFS: ZFS on Linux 0.7.5 – zfs-0.7.5-1.fc27.x86_64 PostgreSQL

    PostgreSQLを使うならZFS
  • Railsユーザーが真っ先にするべきセキュリティチェック – Brakeman

    (Last Updated On: 2018年8月13日)Railsユーザーがソースコード検査やWebサイト診断を受ける前に真っ先に使った方が良いセキュリティ検査ツールがあまり使われていないように感じています。 Brakemanはかなり良くできたツールです。私は何年も前から補助的に使っています。 Brakemanのインストールと使い方 Brakemanのページを見れば説明の必要もないですが、一応説明します。 rbenvを使っている場合、Railsで利用しているRubyのバージョンをローカルに合わせておきます。Rubyユーザーは普通にrbenvなどを使うべきでしょう。 $ cd MyRailsProject $ rbenv local 2.3.3 Brakemanのgemをインストールします。 $ gem install brakeman Brakemanを実行します。BrakemanはRa

    Railsユーザーが真っ先にするべきセキュリティチェック – Brakeman
  • ほぼ全てのインジェクション攻撃を無効化/防止する入力バリデーション 〜 ただし出力対策も必須です 〜

    (Last Updated On: 2019年2月18日)入力バリデーションはセキュリティ対策として最も重要なセキュリティ対策です。なぜセキュリティ対策であるのか?を理解していない方も見かけますが「ほぼ全てのインジェクション攻撃を無効化/防止する入力バリデーション」の効果と拡張方法を見れば解るのではないでしょうか? ソフトウェア開発者が知っておくべきセキュリティの定義/標準/ガイドで紹介しているセキュリティガイドラインでは入力バリデーションが最も重要なセキュリティ対策であるとしています。 厳格な入力バリデーションを行うと、開発者が意識しなくても、非常に多くの脆弱性を利用した攻撃を防止できます。今回は比較的緩い入力バリデーション関数でも、ほとんどのインジェクション攻撃を防止できることを紹介します。 重要:セキュア/防御的プログラミングでは入力と出力のセキュリティ対策は”独立”した対策です。ど

    ほぼ全てのインジェクション攻撃を無効化/防止する入力バリデーション 〜 ただし出力対策も必須です 〜
    patorash
    patorash 2015/06/17
    コメントを書いている人の大多数がちゃんと内容を読んでもいないのが本当に腹がたつ。
  • PHP7の現状

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

    PHP7の現状
    patorash
    patorash 2015/01/26
    よりよい言語になっているのは確実。
  • Phalcon PHPとSails Node.jsのベンチマーク

    (Last Updated On: 2018年8月13日)以前にフレームワーク対決:Node.js+SailsとPHP+PhalconのベンチマークとしてPhalconとSailsのベンチマークを行ったのですが、Apacheを利用した場合のPhalconの性能が全く違うので取り敢えずブログに書きます。 このエントリはPhalcon Adventカレンダー17日目として書きました。少し前に設定がおかしいことに気づいて非公開にしていた物を修正しています。 Phalcon PHPのベンチマーク Apache 2.4 + PHP 5.5 + Phalcon 2.0をフレームワーク対決:Node.js+SailsとPHP+Phalconのベンチマークを書いた時と同じPC(Intel Core i7 4770S – 4 core / 8 thread、Fedora20 x86_64)でベンチマークを取

    Phalcon PHPとSails Node.jsのベンチマーク
    patorash
    patorash 2014/12/17
    圧倒的な速度だなー。
  • ActiveRecordのSQLインジェクションパターン

    (Last Updated On: 2018年10月7日)Railsで多用されているActiveRecordのインジェクションパターンを簡単に紹介します。出典はrails-sqli.orgなのでより詳しい解説はこちらで確認してください。特に気をつける必要があると思われる物のみをピックアップしました。 Exists?メソッド User.exists? params[:user] params[:user]などの使い方は危険です。RailsPHPなどと同様にuser[]というパラメーターで配列化します。 ?user[]=1 が入力の場合、 SELECT 1 AS one FROM "users" WHERE (1) LIMIT 1 となり不正なクエリが実行されます。 Calculateメソッド CalculateメソッドはSQLの集約関数を実行するメソッドです。average、calcula

    ActiveRecordのSQLインジェクションパターン
  • タグ検索するならPostgreSQLで決まり!

    (Last Updated On: 2018年8月13日)PostgreSQL Advent Calender 2013、13日目のエントリです。 表題の通り「タグ検索するならPostgreSQLで決まり!」です。 追記:JSONの場合はPostgreSQLのJSONB型を利用してタグ検索を行うを参照 RDBはタグが苦手 WebアプリではRDBでは取り扱いづらいデータを取り扱う事がよくあります。タグの管理・検索はその一つです。 RDBはタグ情報の管理・検索をしっかりやれますが、どちらかと言うと苦手な分野です。しかし、PostgreSQLの 配列 GIN(Generalized Inverse Index – 転置インデックス) を使うと簡単かつ高速に処理できます。 PostgreSQLを使うとタグ検索が簡単・高速に実現できますが、Googleで「タグ検索 PostgreSQL」と検索しても

    タグ検索するならPostgreSQLで決まり!
  • 1