2018-05-24
記事紹介
Controllers: the Rails way vs the Hanami way
- RailsとHanamiの違い。Controller編
- コメント
A Dive into Ruby CVE-2017-17405: Identifying a Vulnerability in Ruby’s FTP Implementation
- Rubyの脆弱性の話(今は解消済み)
- FTPでファイル名が”| {command}”だったりするとKernel.open(‘| {command}’)が実行されてクライアント側でコマンドが実行される危険性がある、ということらしい
- コメント
- open(‘| {command}’)の書き方を初めて知ったし、これIOクラスが返ってくるのか。readすれば標準出力取得できる。面白い
Dynamically setting Rails default_url_options in Heroku review apps
- Heroku Review Appのdefault_url_optionsの設定方法について
- HEROKU_APP_NAMEを使うと良いらしい
- Review Appだとホスト名動的だから環境変数でやりくりする感じで、そのやりくりする環境変数がHEROKU_APP_NAMEということらしい
Phoenix is better but Rails is more popular
Building APIs with Rails + Protocol Buffers
- RailsでProtocolBuffersを使う方法
- protoファイル書く => protocでrubyコードをgenerate => generateされたRubyクラスを使ってprotobufにencode => それをsend_dataする
Timeout::Error "Timeout is Ruby's Most Dangerous API" —Mike Perham
- タイムアウトを使うとユースケースによっては危険だよ、という記事
- 例だとタイムアウト時に1つ目のRedisのレスポンスが残ってしまって、2つ目のRedisコネクションのレスポンスとして返されてしまって色々ヤバイ、という話っぽい
- https://www.mikeperham.com/2015/05/08/timeout-rubys-most-dangerous-api/
- https://github.com/heroku/rack-timeout#timing-out-inherently-unsafe