
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message There is a vulnerability in the limit() function in Rails 3.0.x. This vulnerability has been assigned the CVE identifier CVE-2011-0448.Versions Affected: 3.0.0-3.0.3 Not affected: Releases before 3.0.0 Fixed Versions: 3.0.4 Impact ------ All users running an affec
MySQLの文字化けを直したい! 発端はSequelを使ってMySQLのデータを操作するRubyスクリプトを書いていたときでした。 UTF-8で保存したはずの文字列が、妙に文字化けしています。 mysqlコマンドでエンコーディングの確認をしてみると、 $ mysql -h host -u user -p database ...(略)... Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> \s -------------- mysql Ver 14.14 Distrib 5.1.30, for portbld-freebsd7.1 (i386) using 5.2 ...(略)... Server characterset: ujis Db characterset: utf8 Client char
■ [rails] Rails3に「デフォルトでHTMLエスケープする機能」が入ったらしい ERBでは「<%= foo %>」がエスケープなし、「<%= h foo %>」がエスケープありですが、 Rails3のtrunkで、デフォルトでHTMLエスケープを行う機能が入ったそうです。 Riding Rails: What's New in Edge Rails 安全のために「<%= foo %>」の方をエスケープありにすべきだろうという議論は前からあって、 実装もErubis(オプションで可能)とか SafeERB*1 *2とか あったわけですけど、できればRails標準でそうなってた方が良いし、その変更を入れるなら確かにバージョン2→3の今しかない気がします。 エスケープを無効にするにはString#html_safe!を呼ぶか、プラグインで「<%= raw foo %>」のように書ける
Rails 2系のXSS脆弱性を修正するパッチが先日公開されました。 4日(米国時間)、Ruby on Railsの2系すべてのバージョンにXSSの脆弱性があることがRiding Rails: XSS Vulnerability in Ruby on Railsにおいて発表された。特定のUnicode文字列を使ってチェックをくぐり抜け、任意のHTMLを送り込まれる危険性がある。なおRuby 1.9系で動作しているアプリケーションはこの影響を受けない。 http://journal.mycom.co.jp/news/2009/09/07/048/index.html この件に関して、大垣さんは次のように説明しています。 RoRの脆弱性に関連してRuby1.9では安全、と解説されていますが、それはRuby1.9は不正な文字エンコーディングを受け付けないからです。 何故かあたり前にならない文字エ
たとえば PHP で、 if ($hoge) { ... } とか書いてあったら、 $hoge がどんな値のときに if の中身が実行されるのか即答できますか。 こういう書き方は多くの言語で可能ですが、言語によって何が真で何が偽になるのかが異なるので、それぞれまとめてみました。 C言語 C言語には bool 型が無い。 0 (int) だけが偽となり、それ以外はすべて真となる。 NULL 定数は stddef.h で以下のように ((void*)0) と定義されているため、偽値として使える。 意見が分かれそうなところですが、個人的にはNULLを偽値として使用するは好きじゃないです。 #ifndef __cplsuplus #define NULL ((void*)0) #else #define NULL __null #endif C++ C++になると bool 型が出てくる。C と同
はじめに 今回は、今話題の正規表現について、その歴史と限界、そして限界を越えた先までを解説します。なお、るりまやるびまの記事もあわせて読んでみてください。 正規表現とは さて、正規表現はもともと1940年代に神経生理学者によって生まれ[1]、数学者[2]や言語学者、情報工学者たちによって理論的背景が研究されてきました。これを最初にコンピュータで用いたのがKen Thompsonによるqed[3]で、それ以降正規表現はテキスト処理に欠かせないツールとして愛されてきました[4]。 基本的な演算 正規表現では、量化・連結・選言という3つの演算を用いて、目当ての文字列群だけを識別する規則を記述します[5]。 量化: 語を繰り返す。一般に用いられる演算子*から、スター演算とも言う。結合則は強い。 連接: 語と語をつなぐ。 選言: ある語か別の語かのどちらか。結合則は弱い。 演算子 Rubyでは
はじめに 今回は文字列を扱う際には忘れてはならない文字コードについて、日本人が知っておくべきエンコーディングを中心に解説していきます。 US-ASCII ASCIIは、ASA(American Standards Association、のちにUSASIを経てANSI)によって、1963年6月17日にASA X3.4-1963として制定され、1967年7月7日にUSASI(United States of America Standards Institute、ASAから1966年8月24日に改組)によってUSAS X3.4-1967へと改訂されてほぼ現在の形となりました。 その後の多くの文字コードがASCIIのスーパーセットとして作られたため、ASCIIは共通のサブセットとして特別な位置に置かれるようになりました。RubyでもASCIIに含まれる文字のみで構成されるStringは、ASC
能書き 前エントリを書いてからいろいろと調べていて驚いたんだけど、日本語のwebsiteで、それなりにまともにRFC822(RFC2822,RFC5322)に準拠した(もしくはきちんと意図的に準拠していない部分を選択している)正規表現はPerlだろうがPHPだろうがRubyだろうが軽くぐぐった程度では見当たらない。PerlのモジュールのEmail::AddressもEmail::Validも程度の差はあれ問題を抱えている。そこらへんの既存の出回ってる正規表現にどういった問題があるかなんてことは次回エントリにて。 というわけで、Perl、PHP、RubyでRFC5322準拠なメールアドレス(addr-spec)の正規表現を以下に示します。尚、addr-specの最終的な正規表現のみならずそれを作成するに至る部分も併記してあります。これは、最終的な正規表現だけでは難解すぎてとても理解できないか
\x{} \pは後続する名前が表すクラス(プロパティ、スクリプト、ブロック)に属する文字にマッチし、 \Pは後続する名前のクラスに属さない文字にマッチします。 クラスの名前が一文字のときはブレースを省略できます。 クラス名の前に^を置くことにより否定形の指定を行うことも可能です。 Perl 5.8 での変更点 Perl5.8以降(5.6でも使えたようですが)では \pや\Pで始まるプロパティ指定に標準Unicode属性を使うこともできます。 詳しくは perlunicode perlunicode - Perl における Unicode サポート を参照してください。 日本語による説明が Unicodestandard にもあります。 Perl 5.8以降ではユーザーが任意のプロパティを作成することができます (IsまたはInを必ず前置)。 詳しくは perlunicode perluni
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
日本Ruby会議2009は、全日程を終了いたしました。多数の方々にご参加いただき、ありがとうございました。 日本Ruby会議2010は、2010年8月27日(金)から29日(日)までの3日間、つくば国際会議場で開催します。 最新情報は、公式サイトhttp://rubykaigi.org/2010/jaで随時お知らせしています。 日本Ruby会議は、オブジェクト指向スクリプト言語Rubyに関するイベントとしては 世界でも最大級のもので、2006年から毎年開催されています。昨年つくばで開催された 日本Ruby会議2008は、3日間でのべ1000人を越える来場者を数えました。 その第4回目となる日本Ruby会議2009(略称:RubyKaigi2009)は、2009年7月17日から 19日までの3日間、学術総合センター(東京都千代田区)にて開催いたします。 都内はもとより、関東圏外の方から参加さ
表現力の高い文法と、強力で内容の豊かなAPIを持つコアクラスライブラリを備えた動的プログラミング言語であるRubyは、プログラミングの楽しさを感じる言語として世界中のプログラマから大きな支持を集めています。本書はRubyプログラミング言語を徹底的に、かつわかりやすく解説するものです。字句構造、データ型、式と演算子から条件分離、関数プログラミング、クラスとモジュール、メタプログラミングまでRuby言語のすべてを包括的に説明しています。Rubyコアプラットフォームやプログラミング環境についても詳述。Rubyを学ぶすべての人におくるRuby解説書の決定版です。 目次 著者まえがき はじめに 1章 イントロダクション 1.1 Rubyひとめぐり 1.1.1 Rubyはオブジェクト指向言語 1.1.2 ブロックとイテレータ 1.1.3 Rubyの式と演算子 1.1.4 メソッド 1.1.5 代入 1
CUI な Git ブラウザ tig を入れてみた (Born Too Late) [git][scm][tig] tig を使ってみた (do_akiの徒然想記) Twitter Trackbacks () とべとべ夏祭り2010電設部に参加した #tobesetu (key-cc) EC-CUBE LC_Page::sendRedirect()に引数を渡せない (弱小PHPerの憂鬱) [densetu][勉強会][学校]電設部IT勉強会#3やりますた(随時追記 (学内IT勉強会のススメ - atcorp) 電設部IT勉強会#3に参加したっ! (Curious) GLT #24 (懇親会)に乱入してきた! (Curious) GLT (Genesis Lightning Talks) Vol.24に参加しました (key-cc) GLT (Genesis Lightning Talks
先日「非同期にしたいけれど」という記事を書いてからずっと、非同期処理メインのWebアプリについて考えています。実装したわけではないため、まだ机上の空論にすぎませんが、方向性が見えてきたので備忘録として残しておきます。 前提条件 Create/Update/Deleteのリクエストは非同期で処理する(参照:Life is beautiful: マルチスレッド・プログラミングの落とし穴、その2) ユーザ登録処理を例に考える 現在、Pintoというソーシャルブックマークを作っているので、そのユーザ登録処理を例として考えます。 1. ユーザ登録画面リソースを取得 GET /create_user_form HTTP/1.1 Host: ja.pinto.jp 2. ユーザ登録ジョブリソースを作成 POST /create_user_jobs HTTP/1.1 Host: ja.pinto.jp u
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Ruby言語は、その記述性の高さなどから注目を集め、特にWebアプリケーション構築の現場などで広く用いられるようになりつつあります。しかし、その一方で確定した言語仕様書が存在しないことはRubyに係る調達仕様書作成に支障を来す場合があるだけでなく、Rubyに関する人材育成の面や長期的な安定運用を必要とする情報システム分野への応用、Ruby処理系等への大規模な開発投資などに対する障壁となる場合があります。 そこで、Rubyの言語仕様書を検討し、国際標準化を図ることにより、Rubyをだれもが安心して調達や人材育成に活用できる環境を構築することを目指します。 Rubyはオープンソースとして開発されており、既に多くの開発者が参加するコミュニティが形成されています。このような体制によるRubyの改良・進歩の障害とならないよう十分に配慮した標準仕様の要件について検討し、それに基づいた標準仕様の草
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く