タグ

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

  • タグ検索するなら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で決まり!
    suginoy
    suginoy 2016/07/17
    "PostgreSQL 9.4からGINが高速化され、データサイズも小くなります。 JSONB型(文字列でなくハッシュ形式保存されるJSONデータ型)もサポートされます。"
  • ソフトウェア開発者が知っておくべきセキュリティの定義/標準/ガイド

    (Last Updated On: 2018年8月4日)単純にこういった定義や標準があります、と紹介してもなかなか原文を参照することは敷居が高いです。このブログでも色々紹介できてきたので、ソフトウェア開発者が知っておくべきセキュリティの定義/標準/ガイドなどをまとめて紹介します。 セキュリティ対策の定義 そもそも定義を間違えていたら、ボタンの掛け違いは止まりません。まず、正しい定義を理解しなけばなりません。ソフトウェアのセキュリティといっても、他のセキュリティ対策の定義と基は同じです。ISO 27000では広範囲なITセキュリティの対策を定義しています。勿論、用語の定義もあります。 ISO 27000のセキュリティ対策の定義 標準と基概念から学ぶ正しいセキュリティの基礎知識 ざっくり言うと、基的にはセキュリティ対策の質は緩和策である、と理解していれば良いでしょう。 ISO 2700

    ソフトウェア開発者が知っておくべきセキュリティの定義/標準/ガイド
  • 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インジェクションパターン
  • ChatWorkのコピーサイトを調べてみました

    (Last Updated On: 2018年8月4日)ChatWorkをまるごとコピーしたコピーサイトが中国に登場で紹介したように、まるごとコピーしたサイトが現れました。こういうコピーサイトが現れると、内部のソースコードが漏洩したのでは?と不安になる方も居ると思います。調べてみたので参考にして下さい。 ChatWorkの画面 コピーサイトのWokingIMの画面 まず結論から書きます。サーバー側のソースコードは漏洩しておらず、HTMLCSS、イメージなど外部から取得した物、通信などからリバースエンジニアリングした物と思われます。 家ChatWorkとコピーChatWorkとの違いを、アカウントを作成し外見から分かる範囲で調べてみました。 まずサーバーのIPアドレスとドメイン保持者ですが間違いなく中国です。 プロバイダ:China Telecom ドメイン保持者:HICHINA ZHI

    ChatWorkのコピーサイトを調べてみました
    suginoy
    suginoy 2013/11/10
    コピー元の名前で作ってるのかw "本家にはないchatwork_sessionという名前のクッキーを作って、セッション情報、UA情報、IPアドレスなどを保存"
  • gihyo.jp セキュリティ対策が確実に実施されない2つの理由

    (Last Updated On: 2018年8月13日)gihyo.jpで新しい記事が公開されました。 なぜ簡単な対策で防げる脆弱性でもセキュリティ対策が確実に実施されないのか?それには理由があります。 その理由とはこの2つではないでしょうか。 セキュリティ対策とコーディングのベストプラクティスは相反することを理解していない セキュリティ対策の基中の基を理解していない 続きは http://gihyo.jp/dev/serial/01/php-security/0044 でご覧ください。 こちらはその記事のはてなブックマークです。 http://b.hatena.ne.jp/entry/gihyo.jp/dev/serial/01/php-security/0044 コメント一つ一つにコメントを付けるつもりはありませんが、モノリシックなコードと処理が重複しているかいないかは関係ありま

    gihyo.jp セキュリティ対策が確実に実施されない2つの理由
  • 1