【焼酎】雪だるま作戦に思いを馳せながら雑談するスレッド Part39

このエントリーをはてなブックマークに追加
576 株価【381】 ▲ ◆cZfSunOs.U
Cookie 使うか POST データに含めるかは,HTTP 的にはヘッダで渡すか
リクエストボディで渡すかの違いでしかないですからね.単に,PC なら
Cookie 使った方が便利だからそうなってた,ってだけのことでしょうし.


ちなみに,●ログインを実装するなら......u.la が代理で認証サーバに
アクセスすることになるんでしょうけど,libapr には SSL 接続を扱う
機能はないんで,mod_ssl + mod_proxy 使ってサブリクエストを発行する
(つまり雪だるま版 read.cgi と同じやり方)ってことになるかと.
577名無し草:2006/09/05(火) 01:25:03
クライアントとしてtora3にアクセスしたいってことっすか
578 ◆MUMUMUhnYI :2006/09/05(火) 01:25:13 BE:4378368-PLT(15755)
>>554 done.
監視中。
579 ◆MUMUMUhnYI :2006/09/05(火) 01:25:34 BE:1916137-PLT(15755)
>>577
あ、なるほど、そういうことですか。
580 ◆MUMUMUhnYI :2006/09/05(火) 01:27:28 BE:3831067-PLT(15755)
>>576
お、ということは、さめ裏ダムで、
mod_ssl とmod_proxy を LoadModule しておく必要がある、
ということかしら。
581 株価【381】 ▲ ◆cZfSunOs.U :2006/09/05(火) 01:29:36
>>580 そうなりますね.
582 ◆MUMUMUhnYI :2006/09/05(火) 01:32:27 BE:3831067-PLT(15755)
モジュールは作ってあるので、
httpd.conf 的にロードする必要がありますね。

httpd.conf 書き換えて再起動するだけなので、
寝るまでに私のほうでやっておくです。
583名無し草:2006/09/05(火) 01:34:54
AUは、俺様サイト証明書を受け入れないって、
話を理解してないかもしれぬが。。。
584 ◆wr57jzK65g :2006/09/05(火) 01:35:26
>>576
それなんす、●のSID持ってくるところで四苦八苦、
http://kage.monazilla.org/system_DOLIB100.html
ここに仕様が載っているんですが、
u.la の中から https://2chv.tora3.net/futen.cgi を呼んで結果を貰いたいんですよね

その「mod_ssl + mod_proxy 使ってサブリクエストを発行する」を使わなきゃできないのか・・・
とほほっ
585stream ◆PNstream2s :2006/09/05(火) 01:36:38
ソケット使って生でHTTPやるよりサブリクエスト使ったほうがらくだと思う
586 ◆MUMUMUhnYI :2006/09/05(火) 01:36:50 BE:3831067-PLT(15755)
>>583
https での通信(セッション)は、さめ裏とトラ3の間で行われるので、
携帯側がhttpsを話す必要がない = そのへんは気にしなくていい、
という、寸法なのかなと。
587 ◆wr57jzK65g :2006/09/05(火) 01:37:08
やりたいことは、
u.la で変わりに tora3 から SID を貰って保持しておく
そして時間切れたらまた貰いに行くってとこなんだけど、
588 ◆wr57jzK65g :2006/09/05(火) 01:37:55
>>585
おっ?

それはどんな仕組みなんですか?
589 ◆wr57jzK65g :2006/09/05(火) 01:38:37
>>586
そうそう そんな感じ
590 ◆MUMUMUhnYI :2006/09/05(火) 01:41:57 BE:1460328-PLT(15755)
ということは、スレの流れを勝手に類推すると、、、

1) SunOS さんや stream さんが >>584 の仕様を読んで、
プログラミングのサジェスチョンをしてくれる
2) おにいさんが、mod_ssl と mod_proxy を使った
サブリクエストの使い方をもりもり覚える
3) コードをがりがり
4) ウマー

ということで、さめ裏でモジュールを使えるようにしてくるです。
591名無し草:2006/09/05(火) 01:44:33
クラシックはどんな感じで●の認証をしているんだろう。
592名無し草:2006/09/05(火) 01:47:06
クラシックで●って使えなかったんじゃ
593 ◆MUMUMUhnYI :2006/09/05(火) 01:47:53 BE:2189546-PLT(15755)
>>591
今の c では動いてないですが、
オリジナルのクラシックでは、curl という PHP のモジュール使って、
今回トライしようとしているのと同じようなことをしていたはず。
594 ◆wr57jzK65g :2006/09/05(火) 01:49:15
Perl とか PHP は組み込みライブラリがよきに計らってくれるんじゃないのかな?
595名無し草:2006/09/05(火) 01:50:10
あー今は動いてないのか。
rep2でもcurl使ってましたね。
596 ◆MUMUMUhnYI :2006/09/05(火) 01:51:35 BE:1642436-PLT(15755)
same1.u.la (= same.u.la)
same2.u.la

mod_ssl
mod_proxy 関連モジュール

LoadModule 済。
597 株価【381】 ▲ ◆cZfSunOs.U :2006/09/05(火) 01:52:23
>>582 他に,こんな設定もいるかと.

ProxyPass /maru_login/ https://2chv.tora3.net/futen.cgi
SSLProxyEngine on

<Location /maru_login/>
    Deny from all
    Allow from env=subreq
</Location>

>>585 そうなんですよね.以前 u.la で dat 取ってくる方法でも
最初はサブリクエスト使うのをさりげなくおすすめしたんですが,
自力処理を希望のようだったんで......
sunos.saita.ma/inspired/ で自力処理してるのは,積極的にそうしてる
のではなく,共用サーバゆえ自分で mod_proxy 入れられないから仕方なくなんで......

>>588 read.c 見て,雪だるまで dat 取ってくるところのやり方を
ほぼそのまんまパクってくればいいかと.ただ,外部から /maru_login/ を
直接叩かれないように env=subreq の制限を入れるということで

apr_table_setn(r->subprocess_env, "subreq", "1");

もやってもらうと.
598 ◆MUMUMUhnYI :2006/09/05(火) 01:54:47 BE:1094562-PLT(15755)
>>597
ふむふむ。

で、/maru_login/ は、外部からは一応アクセス制限かけたほうがいいのかしら。
って、env=subreq か。さすが。

そんじゃ、>>597 入れてくるです。
599 ◆wr57jzK65g :2006/09/05(火) 01:57:38
>>597
みちゃってもいいすかー

ってどこにあるんでしたっけ?
dsoサーバ のやつでいいのかな、
600 ◆MUMUMUhnYI :2006/09/05(火) 02:00:06 BE:3284249-PLT(15755)
>>599
> dsoサーバ のやつでいいのかな、

です。
read.cgi は、雪だるまでも通常でも同じソースです。
601 ◆wr57jzK65g :2006/09/05(火) 02:00:20
あった、普通の read.cgi のソースに書いてあるようだ
パクリ開始。。。
602 ◆MUMUMUhnYI :2006/09/05(火) 02:04:44 BE:6567089-PLT(15755)
same1.u.la
same2.u.la

以下の設定を追加。

#
# for u.la project (Kuromaru login function)
# cf. http://aa5.2ch.net/test/read.cgi/nanmin/1156950721/597
#
<IfModule mod_proxy.c>
ProxyPass /maru_login/ https://2chv.tora3.net/futen.cgi
</IfModule>
<IfModule mod_ssl.c>
SSLProxyEngine on
</IfModule>
<Location /maru_login/>
Deny from all
Allow from env=subreq
</Location>
603 ◆MUMUMUhnYI :2006/09/05(火) 02:05:59 BE:3648285-PLT(15755)
コメントを微妙に修正。

# for u.la project (supporting Kuromaru login function)
604 ◆wr57jzK65g :2006/09/05(火) 02:10:17
リクエスト URI は https://2chv.tora3.net/futen.cgi
GET method か POST method でアクセス。できれば POST method が望ましい
アクセスするときの User-Agent は DOLIB/1.00
例:
User-Agent: DOLIB/1.00

ヘッダに X-2ch-UA: ***** をつける(***** は任意の固有文字列)
例: DOLIB を利用する2ちゃんねるビューアが kage version 1.00 の場合
X-2ch-UA: kage/1.00

http://kage.monazilla.org/system_DOLIB100.html

という仕様なんですが、
User-Agent: DOLIB/1.00
X-2ch-UA: kage/1.00
この辺はアプリ側で設定可能?
605 ◆wr57jzK65g :2006/09/05(火) 02:16:11
マルパクリでコンパイルは通った。
どもでした。

んで
char *uri = apr_pstrcat(r->pool, "/", ch2->zz_ita, "/dat/", ch2->zz_key, ".dat", NULL);
request_rec *rdat = ap_sub_req_lookup_uri(uri, r, &f);
この辺の uri をくべるところを何とかすればいいのかな?

request_rec *rdat = ap_sub_req_lookup_uri(uri, r, &f);
を呼んだときそのhttps://2chv.tora3.net/futen.cgiを呼ぶというのは
>>602 で設定されているって事ですかい?
606 株価【381】 ▲ ◆cZfSunOs.U :2006/09/05(火) 02:21:48
>>604
    rdat->headers_in = apr_table_copy(rdat->pool, rdat->headers_in);
の下あたりで
    apr_table_setn(rdat->headers_in, "User-Agent", "DOLIB/1.00");
    apr_table_setn(rdat->headers_in, "X-2ch-UA", "kage/1.00");

>>605 uri は >>602 の "/maru_login/" で.ただ,POST でボディ渡すのは
サブリクエストではできないんで,GET 使って "/maru_login/" の後ろに
query string 付けてもらうと.
607 ◆wr57jzK65g :2006/09/05(火) 02:24:03
ふむふむ
理解したような解らない様な
まずはやってみます
608 ◆MUMUMUhnYI :2006/09/05(火) 02:27:06 BE:5837388-PLT(15755)
一応外から /maru_login/ にアクセスして、
403 になるところまでは確認しているです。

明日はちと早いので、すみませんが私はそろそろ店じまいへと。
寝るまでは寝床から es でって感じで。
609 ◆wr57jzK65g :2006/09/05(火) 02:28:23
>>606

こんな感じでしょか?
char *uri = apr_pstrcat(r->pool, "/maru_login/[email protected]&PW=passpass", NULL);

POST を GET にするところが解らなかったり、
610名無し草:2006/09/05(火) 02:28:48
>rootさん
またまたあきさんがお呼びです。
http://qb5.2ch.net/test/read.cgi/operate/1155610565/376,381
611stream ◆PNstream2s :2006/09/05(火) 02:30:28
余談ですけど、今でも2chブラウザ作者に●の儲けを分配してたりするんですかね?
X-2ch-UAはその判断に使われてるとかいう話をどこかで見た気がします。
もしそうなら、 "kage/1.00" のままだとあんまりよくないのかな?

まあ、X-2ch-UA自体送らなくても問題ないようですけどね。


>>609
もうそれでGETになってるからOK
612 ◆wr57jzK65g :2006/09/05(火) 02:33:22
>>611
そうですされています。 < 分配

あっ そですか、これで GET っすか、
613 株価【381】 ▲ ◆cZfSunOs.U :2006/09/05(火) 02:34:04
>>609 ですね.ID と PW のところは実際には個別に異なる値になると思うんで

char *uri = apr_pstrcat(r->pool, "/maru_login/?ID=", id, "&PW=", pw, NULL);

みたいになるでしょうけど.あと,何もせずともそのままで GET になってるかと(=>>611).
614 ◆MUMUMUhnYI :2006/09/05(火) 02:38:17 BE:2463539-PLT(15755)
>>610
む(りゃ。
615 ◆MUMUMUhnYI :2006/09/05(火) 02:50:48 BE:6566898-PLT(15755)
そんなわけで、PC たたみます。
●ログインの成功を祈っているです。
616 ◆wr57jzK65g :2006/09/05(火) 02:51:48
結果が出た。

403 だった、、、
とほほっ
617 ◆wr57jzK65g :2006/09/05(火) 02:52:34
さらに頑張るです。


と思ったら
突然の雨と風。前線の通過ですかね、
急に寒くなりました。
618 株価【381】 ▲ ◆cZfSunOs.U :2006/09/05(火) 02:57:36
>>615 乙ですた.


>>616 >>597

apr_table_setn(r->subprocess_env, "subreq", "1");

は,

apr_table_setn(rdat->subprocess_env, "subreq", "1");

にして ap_run_sub_req(rdat) の前に実行してもらうと.
619 ◆wr57jzK65g :2006/09/05(火) 02:57:38
現在のコードはこれです

http://u.la/doc/tora3.html

何が悪いんだろう。。。
return = 403 で抜けてきました。
620 ◆wr57jzK65g :2006/09/05(火) 02:59:52
>>618
やってみるです
621名無し草:2006/09/05(火) 03:01:04
携帯経由で●が買えるようになると●ユーザーが増えるだろうねえ。


PCサイトにはびた一文払わないネットユーザーでも、携帯では着歌やらアプリに月額数百から数千円
払う世の中だからなあ。
622 ◆wr57jzK65g :2006/09/05(火) 03:02:44
http://u.la/doc/tora3.html

>>618
を追加したコードです。
やはり return = 403 で抜けてきちゃいますです。
623 株価【381】 ▲ ◆cZfSunOs.U :2006/09/05(火) 03:06:18
>>622 となると,

apr_table_setn(r->subprocess_env, "subreq", "1");

の形で tora3_connect() を呼び出す前に実行かな......
624 ◆wr57jzK65g :2006/09/05(火) 03:08:07
すみませんです、

やってみます。
625 ◆wr57jzK65g :2006/09/05(火) 03:09:33
おおー
できたー