【焼酎】雪だるま作戦に思いを馳せながら雑談するスレッド Part39
Cookie 使うか POST データに含めるかは,HTTP 的にはヘッダで渡すか
リクエストボディで渡すかの違いでしかないですからね.単に,PC なら
Cookie 使った方が便利だからそうなってた,ってだけのことでしょうし.
ちなみに,●ログインを実装するなら......u.la が代理で認証サーバに
アクセスすることになるんでしょうけど,libapr には SSL 接続を扱う
機能はないんで,mod_ssl + mod_proxy 使ってサブリクエストを発行する
(つまり雪だるま版 read.cgi と同じやり方)ってことになるかと.
クライアントとしてtora3にアクセスしたいってことっすか
>>576 お、ということは、さめ裏ダムで、
mod_ssl とmod_proxy を LoadModule しておく必要がある、
ということかしら。
モジュールは作ってあるので、
httpd.conf 的にロードする必要がありますね。
httpd.conf 書き換えて再起動するだけなので、
寝るまでに私のほうでやっておくです。
AUは、俺様サイト証明書を受け入れないって、
話を理解してないかもしれぬが。。。
ソケット使って生でHTTPやるよりサブリクエスト使ったほうがらくだと思う
>>583 https での通信(セッション)は、さめ裏とトラ3の間で行われるので、
携帯側がhttpsを話す必要がない = そのへんは気にしなくていい、
という、寸法なのかなと。
やりたいことは、
u.la で変わりに tora3 から SID を貰って保持しておく
そして時間切れたらまた貰いに行くってとこなんだけど、
>>585 おっ?
それはどんな仕組みなんですか?
ということは、スレの流れを勝手に類推すると、、、
1) SunOS さんや stream さんが
>>584 の仕様を読んで、
プログラミングのサジェスチョンをしてくれる
2) おにいさんが、mod_ssl と mod_proxy を使った
サブリクエストの使い方をもりもり覚える
3) コードをがりがり
4) ウマー
ということで、さめ裏でモジュールを使えるようにしてくるです。
クラシックはどんな感じで●の認証をしているんだろう。
クラシックで●って使えなかったんじゃ
>>591 今の c では動いてないですが、
オリジナルのクラシックでは、curl という PHP のモジュール使って、
今回トライしようとしているのと同じようなことをしていたはず。
Perl とか PHP は組み込みライブラリがよきに計らってくれるんじゃないのかな?
あー今は動いてないのか。
rep2でもcurl使ってましたね。
same1.u.la (= same.u.la)
same2.u.la
mod_ssl
mod_proxy 関連モジュール
LoadModule 済。
>>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");
もやってもらうと.
>>597 ふむふむ。
で、/maru_login/ は、外部からは一応アクセス制限かけたほうがいいのかしら。
って、env=subreq か。さすが。
そんじゃ、
>>597 入れてくるです。
>>597 みちゃってもいいすかー
ってどこにあるんでしたっけ?
dsoサーバ のやつでいいのかな、
>>599 > dsoサーバ のやつでいいのかな、
です。
read.cgi は、雪だるまでも通常でも同じソースです。
あった、普通の read.cgi のソースに書いてあるようだ
パクリ開始。。。
コメントを微妙に修正。
# for u.la project (supporting Kuromaru login function)
マルパクリでコンパイルは通った。
どもでした。
んで
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 で設定されているって事ですかい?
>>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 付けてもらうと.
ふむふむ
理解したような解らない様な
まずはやってみます
一応外から /maru_login/ にアクセスして、
403 になるところまでは確認しているです。
明日はちと早いので、すみませんが私はそろそろ店じまいへと。
寝るまでは寝床から es でって感じで。
>>606 こんな感じでしょか?
char *uri = apr_pstrcat(r->pool, "/maru_login/
[email protected]&PW=passpass", NULL);
POST を GET にするところが解らなかったり、
余談ですけど、今でも2chブラウザ作者に●の儲けを分配してたりするんですかね?
X-2ch-UAはその判断に使われてるとかいう話をどこかで見た気がします。
もしそうなら、 "kage/1.00" のままだとあんまりよくないのかな?
まあ、X-2ch-UA自体送らなくても問題ないようですけどね。
>>609 もうそれでGETになってるからOK
>>611 そうですされています。 < 分配
あっ そですか、これで GET っすか、
>>609 ですね.ID と PW のところは実際には個別に異なる値になると思うんで
char *uri = apr_pstrcat(r->pool, "/maru_login/?ID=", id, "&PW=", pw, NULL);
みたいになるでしょうけど.あと,何もせずともそのままで GET になってるかと(=
>>611).
そんなわけで、PC たたみます。
●ログインの成功を祈っているです。
結果が出た。
403 だった、、、
とほほっ
さらに頑張るです。
と思ったら
突然の雨と風。前線の通過ですかね、
急に寒くなりました。
>>615 乙ですた.
>>616 >>597 の
apr_table_setn(r->subprocess_env, "subreq", "1");
は,
apr_table_setn(rdat->subprocess_env, "subreq", "1");
にして ap_run_sub_req(rdat) の前に実行してもらうと.
携帯経由で●が買えるようになると●ユーザーが増えるだろうねえ。
PCサイトにはびた一文払わないネットユーザーでも、携帯では着歌やらアプリに月額数百から数千円
払う世の中だからなあ。
>>622 となると,
apr_table_setn(r->subprocess_env, "subreq", "1");
の形で tora3_connect() を呼び出す前に実行かな......
すみませんです、
やってみます。
おおー
できたー