にぽたん研究所

November 05, 2014

このエントリーをはてなブックマークに追加
表題のことがしたかった。

Apache の core にある LimitRequestBody ってディレクティブ使ったら request body が巨大なのとか防げるんだとおもってたら、どうも mod_proxy を使って reverse proxy にしている場合、proxy するリクエストにこの制限は効かないらしい。

日本語のドキュメントには明記されてないのに、英語のドキュメントには明記されている罠。

ということで、LimitRequest* のディレクティブのような挙動を Plack 環境でよしなにやってくれる middleware を書いたらいいんじゃね?ってなってサラっとでっちあげてみました。

Plack-Middleware-LimitRequest - search.cpan.org

使いかたは SYNOPSIS にある通りです。
use Plack::Builder;
 
my $app = sub { ... };
 
builder {
    enable 'LimitRequest',
        body       => 102400,
        fields     => 50,
        field_size => 4094,
        line       => 4094
        ;
    $app;
};
なんで、LimitRequestBody の実装だけにとどめなかったかっていうと、Plack が前段で動いているような奇抜な環境の場合にも制限できたほうが嬉しい人がこの世の中には若干いたりするんじゃないかな?という妄想をしたから。

そもそも、LimitRequest* 系ディレクティブって、〜Body はユーザに認められたコンテキスト (VirtualHostDirectory コンテナ内、.htaccess など) で設定出来るのに対して、他の 〜Fields, 〜FieldSize, 〜Line はグローバルコンテキスト (httpd.conf) でしか設定出来ないので、一部スコープにしか影響しないものと全体に影響するものを一つの middleware で実現するのはどうなのよ?っていう感じもありますけど、逆に言えば、グローバルコンテキストでしか実現できなかったものを、一つの $app のスコープ内の挙動にとどめられるってのは考えようによってはメリットでもあるんじゃないかな?と考えました。

全体で DDoS 対策するべきであることは間違いありませんが、アプリケーションの用途や性質によって制限値を変えられたほうが幸せになれるケースもあるんじゃないかなぁとかおもいました。

「あっちがこのぐらいの値を要求するから、こっちは本当はこんなに必要ないし受け付けたくはないけど仕方なく大きめに設定してる」

みたいなケースには悪くないとおもいます。

まぁ、当初の目的は LimitRequestBody をやりたかっただけなので、同様のケースで困っている方がいれば是非ご利用ください。

こういうネタ書くの何年ぶりだろ。
うんこちんちん。


nipotan at 20:16 | │Comments(0) | TrackBack(0) | 技術 
このエントリーをはてなブックマークに追加

September 29, 2014

このエントリーをはてなブックマークに追加
時々このブログに登場する愛乙女★DOLL (らぶりーどーる) の後輩ユニット Luce Twinkle Wink☆ (るーちぇとぅいんくるうぃんく) の 1st シングル「刹那ハレーション」が明日 9/30 に発売です。
「明日発売」ということは、大きな CD 店などでは本日入荷され店頭に並びます。所謂「フライングゲット」略して「フラゲ」の日です。

良かったら買ってください。

刹那ハレーション
刹那ハレーション
posted with amazlet at 14.09.29
Luce Twinkle Wink☆
Arc Jewel (2014-09-30)
売り上げランキング: 3,082
続きを読む

nipotan at 18:20 | │Comments(0) | TrackBack(0) | アイドル 
このエントリーをはてなブックマークに追加

March 01, 2014

このエントリーをはてなブックマークに追加
先日、LINE Creators Market というのが発表され、4 月以降、オリジナルスタンプが販売出来る仕組みが出来ることが発表されました。

実は LINE の有料スタンプがはじまってから今まで、「日本国内において、LINE アプリ上だけで入手可能なスタンプを全部ゲットしてみる」という、特に何の意味もないルールを自分に課していたのですが、今後 LINE Creators Market が始まったらこのルールを続けるわけにはさすがにいかないだろうなぁとおもい、LINE Creators Market の登場を 1 ヶ月前に控えた 3 月の月初時点で、なんとなく自分の LINE アカウントでゲットした LINE スタンプの総決算をしてみたら、けっこう面白いことになっていたので、簡単にまとめてみました。
続きを読む

nipotan at 01:45 | │Comments(0) | TrackBack(0)
このエントリーをはてなブックマークに追加

February 21, 2014

このエントリーをはてなブックマークに追加
以前、渋谷ヒカリエのランチ全店制覇をしてベスト 5 を発表したのですが、そのまま流れに乗って、渋谷ヒカリエから渋谷駅間を直結する渡り廊下を走り隊衝動を抑えながら歩いて渡り、東急百貨店の東横店でもランチ全店制覇してみました。

以前も書きましたが、オフィスが渋谷に移転した後「なるべく毎日違う店でランチを食べる」というルールを何となく継続したまま、東急東横店ランチ全店制覇ついでに、遂にランチ訪問店舗数が 200 店舗を超えました。

これまで同様、毎日ロケタッチに記録し、それを NAVER まとめの「渋谷ヒカリエ勤務な私の日々のランチ」というまとめに「淡々と」記録しています。

渋谷駅に連結している東急百貨店の東横店は、主に西館 9F 「東急レストラン街」に飲食店があり、ランチを提供しているレストランに分類されるお店は 17 店舗 (2014 年 2 月現在) あります。

その中から、前回同様に「自分的に美味しかったとおもう店ベスト 5」を発表します。
続きを読む

nipotan at 22:51 | │Comments(0) | TrackBack(0) | ランチ 
このエントリーをはてなブックマークに追加

February 20, 2014

このエントリーをはてなブックマークに追加
Twitter で、あんまり好きじゃない人とかいますよね。
ざっと読んだ限り、ツイートもつまらなさそうだし、タイムラインに流れてきたら不快だろうから、全然フォローなんかしたくはない。
そんな人と自分の関係を考えた時に、なんとなく

「俺、この人にブロックされてそうだよなぁ…」

っておもいはじめてしまい、妙に気になる時ってたまにありませんか?
今回は、そんな気になった時に、その人にブロックされているのか否かをすごく簡単に調べられる、案外知られていない方法がありますので、それを公開します。

ちなみに、これは今日現在使える方法ですが、今後使えなくなる可能性もありますのでご了承ください。
続きを読む

nipotan at 23:22 | │Comments(0) | TrackBack(0) | SNS 
このエントリーをはてなブックマークに追加