フォームCGI呼び出しURLを隠すには?

[上に] [前に] [次に]
ピルクル 1999/09/27(月) 06:54:34
WWWサーバA… CGI使用可、sendmail不可
WWWサーバB… CGI、sendmailともに動作可能

WWWサーバAにフォームを設置します。
フォームCGIは、WWWサーバBに設置しているform.cgiを使いたいのですが、そのときHTMLは
<form action="http://www.B/form.cgi" method="POST">
となりますよね。
この"http://www.B/form.cgi" のサーバー名(B)を隠すことは出来ないのでしょうか?
どなたか教えてください。

Aurai 1999/09/27(月) 07:15:28
AにあるCGIがBにあるCGIを呼び出す(読み込む)ようにする
参考
../199901/99010334.htm

ピルクル 1999/09/27(月) 07:41:36
レスありがとうございます。
私の書き方が悪かったです。
CGIからCGIを呼び出すのではなくて、
例えば、HTMLでフォーム(記入欄)とか設けますよね。このHTMLページをWWWサーバAに設置します。
でも実際のCGI(フォームアクション)はWWWサーバBに設置する、ということなんです。
これはソースを見るとCGI(フォームアクション)を設置しているWWWサーバBのURLがわかってしまうので、これを隠す、というかその部分だけでもソースを隠すことができればいいのですが…
下手な説明ですみません…

Nobu3 [E-Mail] [HomePage] 1999/09/29(水) 04:19:59
あっているのでは?

Aに設置されたCGIから、フォームの内容をBのCGIに送信すれば、HTMLのソースには、AのCGIを書けばいいですよね?
AもCGIは使えるのですから・・・。
具体的にやり方を訊かれるとわかりませんけど。

「ソースを隠す」のは、ほぼ不可能なのでは?
このラウンジでも、今まで何度かありましたが、決定的なものは無いようです。

ピルクル 1999/09/29(水) 05:22:52
私もよくよく読んでみたら、そういうことか!とわかりました。
そうですね、CGIからCGIを呼び出すことが出来るのですね!でもとても難しそう…(^^;;;
教えていただいたところをよーく読んでみます。

あと、こういうことはできないのでしょうか?
私は正直まだよくわかっていないので、すっとんきょーなことを書いていたらスミマセン。
以下のうち、どれかひとつでもできればいいのですが・・・

1.ソースを隠すことができないのであれば、<form action="abc.cgi">このabc.cgiの部分を暗号化などにはできないのでしょうか?

2.フレームを使わずに、別のページに飛んでもURLが変わらない(ダミーURLが表示される)とかはできないのでしょうか?

ああ、こんなことできるわけないでしょって声が聞こえてきそう…^^;;;

とにかく、ソースを見てもWWWサーバAとWWWサーバBが関係していることを知られないような方法はないのでしょうか…???

通りすがりの者 1999/09/29(水) 09:36:11
http://www.B/form.cgi から Location: で http://www.A/
ページに戻してやると、できるんじゃないかな。

ピルクル 1999/09/30(木) 00:36:30
Content-type:
の代わりに 
Location:
を使う、ということでしょうか。
こうすると、CGI処理後、ブラウザに表示されるドキュメントはLocation: で指定し
たURLになりますよね。


とは言っても、WWWサーバA(CGI使用可、sendmail不可)に設置した
ドキュメント内の記述はどうしたらよいのでしょうか。
<form action="http://WWWサーバB(sendmail可能)/form.cgi">
と直リンクを貼ってしまうとわかってしまうので…
Location: を使うとして、この「http://WWWサーバB(sendmail可能)/」の部分の
記述がわかりません…

いろいろと調べては見たのですが…
お手数ですが教えてください。よろしくお願いします。

とおりすがり 1999/09/30(木) 02:28:44
> このラウンジでも、今まで何度かありましたが、決定的なものは無いようです。

ブラウザには解釈してもらわないと話にならないんで
そんな方法有るわけないじゃん。

なんでそう隠す事に夢中になるのかな?

かつべ 1999/09/30(木) 03:09:05
●サーバA
 フォームには
  <form action="go.cgi" method="get">
 みたいに書いておいて、
 go.cgiは以下の処理を行います。
  ・フォームデータを分割
  ・"Location: "以下の記述を作成。
   ("http://www.ooo.com/webform.cgi?value=%25%28%35"みたいな文字列)
  ・LocationでBサーバに飛ぶ

●サーバB
 ここに、実際のCGIを置く。

こんな感じじゃだめですかね。

サーバBに渡すときにPOSTにできればいいんですが(^^;
大量のデータを渡すのでなければこれでも十分だとは思います。

かつべ 1999/09/30(木) 03:26:18

>2.フレームを使わずに、別のページに飛んでもURLが変わらな
>い(ダミーURLが表示される)とかはできないのでしょうか?
指定したCGIで、常に無茶苦茶な名前のHTMLファイルを
作成し、そこにLocationで飛ぶとか。

でも、アクセスされる度にこんなことしてたらサーバが悲鳴を
あげそうです(^^;

ピルクル 1999/10/01(金) 04:17:02
[[解決]]
いいアドバイスありがとうございます。
これで出来そうです!ということで解決にさせていただきます。
早速試してみようと思います。
みなさま、ありがとうございました。

[上に] [前に] [次に]