Rails versions 6.1.3.2, 6.0.3.7, 5.2.4.6, and 5.2.6 have been released!

日本はGW中なのにRailsのsecurity releaseがありました。
早めにリリースしておくのが良さそうです。

Rails versions 6.1.3.2, 6.0.3.7, 5.2.4.6, and 5.2.6 have been released! | Riding Rails

ざっくり

該当のCVEは4つもあります。

[CVE-2021-22902] Possible Denial of Service vulnerability in Action Dispatch - Security Announcements - Ruby on Rails Discussions.

Mime Typeを判断する正規表現に問題があるようで、ReDoSの対応となります。

[CVE-2021-22903] Possible Open Redirect Vulnerability in Action Pack - Security Announcements - Ruby on Rails Discussions.

DNSバインディング対応(config.hosts)を利用している場合、文字列が正規表現として利用され一部無効化(「.」部分)される脆弱性があったようです。

[CVE-2021-22885] Possible Information Disclosure / Unintended Method Execution in Action Pack - Security Announcements - Ruby on Rails Discussions

redirect_to or polymorphic_url にユーザ入力値を渡していた場合、予期せぬroute helperが呼ばれる可能性があったようです。

[CVE-2021-22904] Possible DoS Vulnerability in Action Controller Token Authentication - Security Announcements - Ruby on Rails Discussions

authenticate_or_request_with_http_token or authenticate_with_http_token を利用している場合に、 こちらもReDoSの対応のようです。

(このメソッド知らんかったけど、便利そう。)

あなたの脳力をチェック! 大人のIQテスト 読了

30問 x 5 回分のIQテストの本です。 積読状態でしたが、お休み期間中にやってみました。
テスト自体は面白いのですが、色々ひどかったのでご紹介。
kindle unlimitedで読むなら、まぁありかなという代物です。

amazonのレビューにも書かれてますが、

誤植がひどすぎる

問題自体がおかしかったりするものもいくつかありますし、 最後45分かけて30問解くテストなのですが、これの最初の7問の正解が「ー」としてちゃんと書かれてなかったり(解説はあるので、ある程度は予想できる)ととにかく雑な仕上がりになってます。

ただ、IQテスト自体は頭の体操感があって面白く、良い値が出るとそれなりに嬉しいです。 が、時間は少しオーバーしちゃいました。この辺は訓練していけば上がっていきそうだとも思いました。

SodaStreamMapというサイトを作った

先日、Sodastream(Genesis v2)を購入し - rochefort's blog 、soda lifeを満喫している毎日なのですが、ガスが無くなると、ガスシリンダーの交換が必要になります。  

Sodastreamのガスシリンダー交換

交換方法は、オンラインで申し込むか、取扱店舗に行って交換してもらうかの2つの方法があります。 オンラインだと、2000円 + 送料(2490円)が掛かりますが、お得便という「2本の交換を3回」行うのを一括で支払うというものがあり、この場合は送料が無料となります。
オンラインのやつはお得ではあるのですが、こんなに必要かどうかもよくわからないので、一旦店舗で交換をやってみようと考えています。

Sodastreamの取扱店舗検索

ソーダストリーム sodastream|お取扱店舗
こちらを見てみると結構あります。うちの近所にもありそうなのですが、、、 見づらい。
 

作ったもの

こんなんgoogle mapで住所入れてピン立てるようにした方が圧倒的に見やすいやろ、と思ったのでscrapeして作ってみました。

sodastream-map
f:id:rochefort:20210206201252p:plain

 
いつものようにRubyでscrape。Geocoding で住所から位置情報を付与。
あとは、GoogleMapで表示するだけ。フロントエンドは、無駄にNuxt.jsを使ってます。

はまりどころ

Nuxt.js での GoogleMap利用には、それなりに嵌まりました。

Nuxt.jsでGoogle Mapsを利用する - rochefort's blog