タグ

あとで読むとrubyに関するmfks17のブックマーク (2)

  • Object#send 有害論 - Qiita

    ご存知の方には何を今更感があるかとは思いますが、パッとググった限り誰も書かれていなかったので、 Object#sendやそれとよく似たObject#public_sendの使い方は注意して使わなければ結構危ないセキュリティホールを作ってしまうよ、 というお話をしたいと思います。 TL;DR Object#sendはevalやsystemの次ぐらいに危険です。ユーザーの入力など、外部から入力された値をObject#sendやpublic_sendメソッドにそのまま渡すのはやめましょう。 これらのメソッドに渡す文字列は、(特殊なメタプログラミング用のライブラリを作る場合などを除いて)必ずどこかにハードコードした、信頼できるメソッドの名前のみにしてください。 危険なケース 例えばあからさまな例ですが、次のようなRailsのコントローラーのアクションがあったとしましょう。 みなさんはこれに近いよう

    Object#send 有害論 - Qiita
  • オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル

    トップ 目次 はじめに コマンド Rubyの起動 環境変数 Ruby 言語仕様 Ruby でのオブジェクト オブジェクト クラス プロセスの実行 Ruby プログラムの実行 終了処理 スレッド セキュリティモデル Ruby の文法 字句構造 プログラム・文・式 変数と定数 リテラル 演算子式 制御構造 メソッド呼び出し(super・ブロック付き・yield) クラス/メソッドの定義 その他 多言語化 正規表現 手続きオブジェクトの挙動の詳細 組み込みライブラリ Builtin libraries 標準添付ライブラリ All libraries C API All C API その他 pack テンプレート文字列 sprintf フォーマット Ruby用語集 Rubyで使われる記号の意味(正規表現の複雑な記号は除く) 疑似BNFによるRubyの文法 配布条件 このマニュアルのヘルプ

  • 1