[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: domain=.google.cn
もど、長です。
このメールは----------------------------------------------
山岡 克美 <yamaoka@xxxxxxx> さん( 山岡 と引用)の
MsgID : [emacs-w3m : No.09983]
Subject : [emacs-w3m:09983] Re: domain=.google.cn
Date : [Tue, 29 Jan 2008 19:18:08 +0900]
-------------------------------------------への返信です-〆
《件名・引用文は改行・削除・変更してあるかもしれません》
[...]
山岡> どうもありがとうございます。このごろ、この問題はかなり深刻な気が
山岡> してきました。今まで気にならなかったのが不思議ですが、Google.cn
山岡> だけでなく、例えば Google.cz でも同様の障害があります。
山岡> [emacs-w3m:09977] (記事の本題から外れているのですが)
山岡> 日本からアクセスすると Google.cz (チェコ) は日本語のデキストを返
山岡> してくるのですが、そのままだと記事にあるような単語の検索ができま
山岡> せん。そこで言語をチェコ語に変更しようとしても、現在の emacs-w3m
山岡> では cookie を受け付けることができないせいで、不可能です。暫定対
山岡> 策が記事中にあります。でも、何で Firefox は言語を変更しなくても、
山岡> あの単語を検索できるのでしょうか。
これについてちょっと調べた結果を添付します。
FirefoxはLive HTTP Header機能拡張によってキャプチャしたものです。
emacs-w3mは現状手を入れて確認する余裕がないので省略気味です。
(w3m-url-decode-string "%C5%99%C3%AD%C5%88")
"říň"
なので、URLエンコードしているようですが、どういう判断でこうしているかなどもちょっ
と分りません。
山岡> 他には [emacs-w3m:09982] の sb-perlentaucher-de.el で記事のヘッ
山岡> ダーを http://rss.perlentaucher.de から取得するときに、以下のメッ
山岡> セージが現れてうるさいです。
山岡> rss.perlentaucher.de tried to set a cookie for domain perlentaucher.de
山岡> - rejected.
山岡> おそらくこれらは単にうるさいだけでなく、実際の不便を生じているで
山岡> しょう。
[...]
山岡> その後、長さんはアイデアをお持ちですか? ぼくはこれから勉強開始
山岡> です。
[...]
まず、w3mが
| This cookie was rejected to prevent security violation. [wrong number of dots]
として排除するポリシーを組み込んでいることは留意したほうがいいかもしれません。
まあ、emacs-w3mは独自にcookieを管理する機能となっていますので、致命的ではないと
は思います。
方針があるわけでもないのですが、
1. Cookie Monsterについては寛容な対応とする?
dot < 2 を排除するのみとし、それ以上は受けいれる
2. 上記をオプションとする?
w3m-cookie-unsafe-acception(新設)がtとなっていれば上記ポリシーで動作する
3. w3m-cookie-two-dot-domains-regexpがdefconstなのをやめる
すくなくともユーザーがカスタマイズできる変数を用意する
4. ある2dot cookieを発行するドメインで、初めてcookieを受けたときに
Eat cookie <domain:xxxx.xx>?(yes/no): と聞くようにし、yesならacceptし、
noならrejectする。
その後で同じURLで再リクエストし、accept/rejectしつつretrieveする。
その際のretrieve完了後にSave acception/rejection rule?(y/n):と聞くか、終了時に自
動保存し、cookie accept/reject rule(.cookie.accept/.cookie.rejectとか)を更新する
4が一番大変ですが、実現すれば安全にcookieを運用できますし、emacsの身軽さを
体現しているのではないかと思います。
ちなみにですが、私はFirefoxで以下のルールでCookieを運用しています。
サイトから送られてきたCookieを保存する : yes
Cookieの生存期間 : Firefox終了時まで
例外ルール : 信頼できるサイトはここに手動登録
cookieが危険なのは
そのcookieに生で危険な情報が乗ることがある
cookie中のSESSIONID生存期間中にハイジャックされる可能性がある
追跡されることがある
だと思いますので、信頼できるところのみ長期保存されるなら、実用上はよいのではない
かと思います。
# 他にも危険性はあるとは思いますが、まだ勉強できてません。
この辺も含めてカスタマイズ可能にするのがよいかと思います。
国や環境で安全性が大きく違う可能性がありますから。
# その辺は日本は比較的マシな方でしょうし...
とりあえず以上です。
--
Tsuyoshi CHO
mailto:tsuyoshi_cho@xxxxxxxxx
říň
Firefox(google.cz)
http://www.google.cz/search?hl=ja&q=%C5%99%C3%AD%C5%88&btnG=%E6%A4%9C%E7%B4%A2&lr=
live header
http://www.google.cz/search?hl=ja&q=%C5%99%C3%AD%C5%88&btnG=%E6%A4%9C%E7%B4%A2&lr=
GET /search?hl=ja&q=%C5%99%C3%AD%C5%88&btnG=%E6%A4%9C%E7%B4%A2&lr= HTTP/1.1
Host: www.google.cz
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: ja,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.google.cz/search?hl=ja&q=%C5%99%C3%AD%C5%88&btnG=%E6%A4%9C%E7%B4%A2&lr=
Cookie: PREF=ID=b2f3fcc96fa89278:TM=1201605703:LM=1201605703:S=Dx3u8NyIAn8vvssh
X-OPENID-ANTI-PHISHING: VeriSign's OpenID SeatBelt/1.0.0.3325
HTTP/1.x 200 OK
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Server: gws
Transfer-Encoding: chunked
Content-Encoding: gzip
Date: Tue, 29 Jan 2008 11:25:40 GMT
----------------------------------------------------------
http://www.google.cz/search?q=%C5%99%C3%AD%C5%88&hl=ja&lr=&start=10&sa=N
GET /search?q=%C5%99%C3%AD%C5%88&hl=ja&lr=&start=10&sa=N HTTP/1.1
Host: www.google.cz
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: ja,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: PREF=ID=b2f3fcc96fa89278:TM=1201605703:LM=1201605703:S=Dx3u8NyIAn8vvssh
X-OPENID-ANTI-PHISHING: VeriSign's OpenID SeatBelt/1.0.0.3325
HTTP/1.x 200 OK
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Server: gws
Transfer-Encoding: chunked
Content-Encoding: gzip
Date: Tue, 29 Jan 2008 11:25:48 GMT
----------------------------------------------------------
emacs-w3m(google.co.jp)
http://www.google.com/search?q=%C5%99%C3%AD%C5%88&hl=ja&lr=lang_ja&ie=utf-8&oe=utf-8
emacs-w3m(google.cz)
fail
w3m(google.cz)
$ w3m -dump_head "http://www.google.cz/search?hl=ja&q=%C5%99%C3%AD%C5%88&btnG=%E6%A4%9C%E7%B4%A2&lr="
Received cookie: PREF=ID=ac34e8aeae172fce:TM=1201606113:LM=1201606113:S=nbgJSWYvePiszixJ
This cookie was rejected to prevent security violation. [wrong number of dots]
HTTP/1.0 200 OK
Cache-Control: private
Content-Type: text/html; charset=Shift_JIS
Set-Cookie: PREF=ID=ac34e8aeae172fce:TM=1201606113:LM=1201606113:S=nbgJSWYvePiszixJ; expires=Thu, 28-Jan-2010 11:28:33 GMT; path=/; domain=.google.cz
Server: gws
Content-Length: 0
Date: Tue, 29 Jan 2008 11:28:33 GMT
Connection: Close
(w3m-url-decode-string "%C5%99%C3%AD%C5%88")
検索文字になりました。