✖
✖
✖
✖
✖
✖
分電盤にクランプつけて使用中の電力がわかるようにするやつ
節電モニター cho45
微妙に高いんだけど、おもしろそうなのでこれを買ってみた。
計ってみるとわかることが多々あっておもしろい。特に、常時使っている電力が結構多い (100W〜200W) ことがわかった。
けど、どの機器が使っているか、というちゃんとした支配率まではわからない。そのせい、もんもんとするので別途ワットチェッカーも買おうと思っている…… ブレーカーの一部を落としたりしてみた感じだと、待機電力で一番支配率高いのは冷蔵庫っぽいなあという感じ……
関連エントリー
- 電力表示付きの Type-C 充電ケーブル 100W だと 20V 5A になる。1m 室温25℃で90Wの表示が出てる場合、しばらくすると52℃ぐらいまで上がる。 手元のケーブルテスタだと、ケーブル全体としてはコネクタも含め180mΩ。P =...
- 冷蔵庫を買った パナソニックの NR-F436T という冷蔵庫を買った。 今回はじめてケーズデンキで購入をしてみた。本当は NR-F437T という後継機のほうを買おうと思ったが、NR-F437T がフル値引きして1...
- 冷蔵庫の選びかたについて 選びかたがいまいちよくわからなくて、検索しても結局よくわからないので、要点だけまとめてメモしておく。 サイズ 省エネ 各社そんなに違う製品を出しているわけではないようだ。目玉機能みたいなのは一応あるん...
- コンセントごとの消費電力を知りたい人生 分電盤にセンサーをつけて家庭内全体の消費電力を測るというのはやっていますが、実際のところ何がどう電力を食っているのは大本で計測してもわかりにくいわけです。エアコンや洗濯機などの大きなものはともかく、待...
- 市販の節電モニターから値を読みだしてグラフ化 グラフ化した消費電力値。5:00 ぐらいにエアコンの電源が自動的に入るようになっていて急激に消費電力が増える。起床後は食洗機や洗濯乾燥機などが稼動してさらに増えていく。40A契約だが、一瞬ピークでそこ...
✖
✖
なんか 2巻か3巻 (忘れた) に洗濯機から女の子的なのがでてきた
関連エントリー
- アンテナアナライザの回路 - ブリッジの三つの電位差を測るタイプ http://www.rigexpert.com/index?s=articles&f=aas ブリッジの50Ω/50Ωで分圧したほうの電位 、負荷側の電位 、ブリッジ間の電位差 を測っているタイプで...
- 無印の商品を大量に買っている…… 無印良品ネットストア 無印良品ネットストア 体にフィットするソファ・本体 幅65×奥行65×高さ43cm | 無印良品ネットストア 伸び難くく改良したニット地を使用しています。中の微粒子ビーズが独特の...
- 今年 子ども関係で買ったもの 先にまとめておくと、おむつの支出が支配的で、それ以外だと直接子ども用のものをあんまり買ってない。絵本とかをあんまり買ってない気がする。 おしりふき 【おしりふき 詰替用】グーン 肌にやさしいおしりふき...
- 神社 関東の聖地と神社 (楽学ブックス) cho45 辰宮太一 ★ 4.0 / 5.0 cho45 出雲大社 (楽学ブックス) cho45 . ★ 4.0 / 5.0 cho45 伊勢神宮 (楽学ブックス)...
- NEEWER LED-NL660 というのを買ってみた Neewer 調光可能な二色660 LEDビデオライト 耐久性のあるメタルフレーム、 Uブラケットと遮光板付き 3200-5600K、CRI96+ スタジオ撮影、YouTube、商品撮影、ビデオ撮影に...
CSRF 防止用トークンの自動チェックの問題と解決
自分が作るウェブアプリケーションでは基本的に以下のような規則を守るようにしている
- GET だけで副作用 (DB書きこみなど) を伴う処理をしないこと
- POST 時には自動的に CSRF 防止用トークンをチェックすること
これだけで単純な CSRF はまず防げくことができるからだ (実際は CSRF 防止用トークンの生成方法が多少問題になるが、作るウェブアプリケーションによって、どれほど厳密にすべきかが違うため、そのたび考えてやりかたを変えてる)
このような設計をした場合、全ての POST するフォームに input type="hidden" とかで CSRF 防止用トークンを埋めこむ必要がある。ウェブアプリケーションフレームワークによっては、防止用トークンを埋めこむところも自動的にやってしまうものもあるが、外部サーバへ POST するフォームなんかを作ったとき (ASP型の外部サービスとか)、意図せずトークンが漏れるのがちょっと不安なので自分は手動で全部入れることにしている。たとえ入れ忘れても、普通にチェックしていれば必ず気付くし、一行コピペするだけなのでこれで問題はまず起きない。
しかし一方、外部のアプリケーションから直接 POST されるような場合 (なんらかのコールバックとか)、当然ながら CSRF 防止用トークンは送られてこないため、自動チェックにはねられてしまう。なので、こういう場合は明示的に自動チェックをオフにする必要がでてくる。これが地味にややこしい。
Perl で Router::Simple などを使って適当に本体をディスパッチし、その前 (before_dispatch 的なもの) で自動チェックをかけるアプリケーションがあったとする (シンプルに作るとそうなるだろうというもの)。そんなときなんとなく以下のように書ければいいなと一瞬思ってしまうが、これはうまく行かない。
sub dispatch_foo {
my ($class, $c) = @_;
$c->check_csrf(0);
# do something...
} 自動チェックはこのメソッドの前に実行されており、この段階、すなわち呼ばれたあとに「チェックしない」ことを宣言しても遅い。自動チェックをやめて、CSRF チェックするところにだけ $c->check_csrf(1) とか書いてチェックを明示的にするようにする、という解決方法もあるだろうけど、危ういので避けたい。
とにかく、自動的にチェックを行っている以上、そのチェックが行われる前に「この URI (やサブルーチン) に対しては CSRF チェックをしない」宣言をしておいて、自動チェック時にそのフラグを見る必要がある。理想としてはコードのコンパイル時に行われるのが望ましい。例えば以下のように
sub dispatch_foo {
my ($class, $c) = @_;
# do something...
}
__PACKAGE__->check_csrf(dispatch_foo => 0); この場合、サブルーチンに対して CSRF チェックを自動チェックするかどうかを check_csrf() クラスメソッドで宣言しておくイメージになる。
これでとりあえずいいとは思うけれど __PACKAGE__ とか書きにくいし、dispatch_foo は2度出てくるしで、なんとかしくなる。
結論を言うと、この場合、以下のように CODE Attribute を使うのが一番スッキリいくように思った。
sub dispatch_foo : check_csrf(0) {
my ($class, $c) = @_;
# do something...
} Catalyst 以来、最近は CODE Attribute を使っているものを殆ど見ておらず忘れていたのだけれど、こういうときはやはり便利だな、と思った。
これに従って、自分でウェブアプリケーションを作るときのスケルトンにも同じような仕組みを入れた。
関連エントリー
- Chrome for Android での HTML5 アプリケーションキャッシュ 全部のファイルをキャッシュさせても、一瞬で表示される感じではなく、ローディングバーが表示され、あくまでロードが走っているようにみえる。この時点でネイティブアプリを超えられない。 殆どペライチなページで...
- SameSite 属性結局どうすりゃいい? Chrome 80 (2020年2月予定) からは挙動が変更され、SameSite 属性がない (なにも対応していない場合) は SameSite=Lax の挙動がデフォルトになる。かなり厳しい制約が...
- リクエストオブジェクトへ、型を明示するメソッドの追加 ウェブアプリケーションを書くとき、最近はだいたい Plack::Request なりなんなりを継承して、そのプロジェクト専用のリクエスト/レスポンスオブジェクトを作ることにしている。 特にリクエストオ...
- ユーザ由来の構造化データによるSQLインジェクション Kazuho's Weblog: The JSON SQL Injection Vulnerability について。元記事をはっちゃめっちゃに要約すると SQL::Maker にユーザから受けとった...
- Polymer 最小構成のペライチファイル なにを入門するにせよ、とりあえず最小構成を確認したい、と思う人はいるでしょう。何を隠そう、僕もその一人です。 index.html <!DOCTYPE html> <html> <head> <tit...
Chrome for Android での HTML5 アプリケーションキャッシュ
全部のファイルをキャッシュさせても、一瞬で表示される感じではなく、ローディングバーが表示され、あくまでロードが走っているようにみえる。この時点でネイティブアプリを超えられない。
殆どペライチなページであっても 0.5 秒ぐらいはローディングバーが出る。ウェブフォントやら外部CSSやらを多く使うと、やはり、それなりに遅くなる (Boostrap を特に気にせず使ってアプリケーションキャッシュに入れると 1 秒ぐらい)。低スペックマシンだと不安がある。
ウェブフォントは、そもそもアプリケーションキャッシュさせるにしても、ブラウザごとに読んでいるファイルが違うので悩ましい。全部書くがいいのかなあ。
関連エントリー
- Mac で VoiceOver が起動しているかどうかを判定する方法 / または Google Chrome を強制的にアクセシビリティ有効にする方法 自分のアプリケーション (AXApplication ) の AXEnhancedUserInterface (bool) を調べて、1 が入っていたら VoiceOver が起動している。 Goog...
- Google+ の画像自動バックアップで、一部画像がアップロードされないとき Google+ の画像自動バックアップは、デフォルトだとカメラで撮影されたものしかアップロードされない。(いつのまにかこういう仕様になってた) なので、スクリーンショットや、他のアプリケーションが独自...
- 前年の振り返りと今年の抱負 前年 前年は技術的にはエレクトロニクス関係のスキルセットを多少上げることができたのが、自分の中では非常に大きかった。 ソフトウェア関係ではファームウェア書いてIOいじったりするのがアプリケーションレベ...
- ✖ プログラミングですごい面白い方法が出てきたぞ! みたいなのが最近は全然なくて、いやあるのかもしれないけれど、全然目に入ってこないか、入ってきても興味を持てない状態になっている。手続き型だ! オブジェク...
- 自作アンテナアナライザーのBluetooth化とアプリケーション 簡単かつ安く高精度なアンテナアナライザーを自作したい | tech - 氾濫原 簡単かつ安く高精度なアンテナアナライザーを自作したい (2) | tech - 氾濫原 あたりの続きです。 シリアル接続...












