68user's page 掲示板

Prev< No. 3427〜3432> Next  [最新発言に戻る] [過去ログ一覧]
No. 3427 # Mule 2003/12/01 (月) 23:34:08
こんにちは。
初めて書き込みいたします。
私は、CGIの使えないサイトで、ちょっとしたプロフのページを管理しています。
このサイトでは、自作CGIは一切使えず、既成のCGIを使うしかないのですが、最近、BBSのほうにおかしな書き込みが増えて困っています。
そこで、アクセス元のログを取ろうと考えまして、自作CGIを書きましたがここで問題が生じました。
おわかりかと思いますが、自作CGIを直接設置できないことが問題です。

ただ、このサイトでは、外部から一枚だけ、画像をリンクして表示できるんですね。

そこで、画像の参照元である手持ちのサーバの.htaccessをいじり、
画像がCGIとして機能するように設定しました。
それで、このCGIファイルを画像のように偽装してサイトにアップロードしました。
これによって、外部CGIを呼び出してログを保存することが出来ましたが、私の考えで言えば、いまどき、

print map {"$_ = $ENV{$_}"} keys %ENV;

で表示されるデータなど、あまりあてにはできない...
できれば、もっと確実なところで、匿名Proxy経由であれば、telnetを起動して接続元をファイルに保存、などの手法をとりたいのです。

ところが、画像のトリガーを使った方式ではこれが上手くいきません。
ヘッダの出し方に問題があるはずですが、なんとかならないものでしょうか?

パワーユーザーの皆様、良い知恵がございましたらご教授ください。
宜しくお願いいたします<m(__)m>

No. 3428 # perler 2003/12/01 (月) 23:42:05
はじめまして^^
ネットワーク関連のプログラムいつも参考にさせていただいております。
今回ちょっとおききしたいことがありまして書き込ませていただきます。
内容がこちらのページの趣旨と離れて申し訳ないのですが、
お返事いただければ幸いです。

いきなり本題にはいらせていただきます。

<a href="$ENV{'SCRIPT_NAME'}?para=data">
としてリンクを作成して、その先のページで
<form action="$ENV{'SCRIPT_NAME'}?para2=data2" method='POST'>
とします。
このときフォームデータの取り込みのハッシュを%FORMとしたとき
2つめの$FORM{'para2'}が存在しません。

これがなぜおこるのかさっぱりわかりません。
またメソッドをGETでも試しましたがダメでした。
ただし、出力先のURLにはhttp://***.cgi?para2=data2と表示されます。でもprint文では表示されないのです。
原因がわかれば教えていただけないでしょうか?

ちなみにperl5でapache1.3.14仕様です。
よろしくおねがいします;;

No. 3429 # 68user 2003/12/02 (火) 12:32:36
>>3427 Mule
試してませんが、画像側で
      Location: telnet://example.com:1234
ではダメですか? (ダメなような気もしますが)

掲示板側では img src でしか外部リソースを呼び出せない、
という条件のもとでは、これ以外の方法は思いつきません
でした。

>>3428 perler
誰かが環境変数 %ENV を解析し、その結果を %FORM に
セットしなければならないわけですが、その部分はどこが
担当していますか? (CGI モジュールですか?)

No. 3430 # Mule 2003/12/02 (火) 19:52:37
>>3429 68user

ご返事ありがとうございます。

Locationは私も考えましたが、その方法は無理でした。
しかし、コマンドで上手く行きそうです。
現在、実験中ですので、詳細はまたご報告いたします。
とりあえず、今日はご報告まで。

お忙しい中、返事をいただきましてありがとうございました。

No. 3431 # 68user 2003/12/03 (水) 00:17:26
>>3430 Mule
できそうですか。ぜひ結果を教えてください。

No. 3432 # 初心者 2003/12/03 (水) 10:06:09
初歩的な質問で、申し訳ないのですが、教えていただけると助かります。
  
Bシェルでは、
if [$a = $b]
then
echo "ok!"
fi
  
などと、if文の中で、変数同士の値を比較してイコールならば、とかけますが、
  
Cシェルでは出来ないのでしょうか?

Prev< No. 3427〜3432> Next  [最新発言に戻る] [過去ログ一覧]