• 締切済み

httpsへの移行について、II

前質問でhttpsへの移行について回答をいただきまして(ありがとうございました)、 ほぼ理解できたのですが 新たに不明な事が出てきましたので質問させていただきます。 現在、html上のボタンをクリックすると 表示しているhtmlの上に幅狭で、window.openして、データを表示している処理があります。 ボタンクリック時、window.openを行っていますが、その際のJavaScript処理は (1)現在日時を取得 (2)windowのサイズ計算(幅は情報が表示できる範囲の固定、高さはscreen.heightの半分) (3)window.openのパラメータセット   key="aaa.exe(cgiアプリのexe名)?KEY=(日時)"; para="width=380,height=(2)で求めた値+他option; (4)windowをopenして位置調整 newwin = window.open(key,'infomation',para); newwin.moveTo(15,20); newwin.focus(); ・・・のような処理になっています。 これだと、methodは「GET」ですよね。 これを「POST」にする(SSL対応)処理は、どうしたらいいのでしょう??? 例えば、、、ダミーhtml(ダミーじゃなく、見出し部分などだけのhtml?)を作成しておき、 window.open時に、そのダミーhtmlを「https://・・・ダミーhtml」でopenし、 ダミーhtml内に、methodはpost、アクションはcgiのaaa.exe・・・のようにしておき、 onloadで処理させるのかな、、、 ・・・とも思ったのですが、その場合、パラメータとして渡す日付はどうやって渡せばいいの???   と、はまってしまいました。 よろしくお願いします。

みんなの回答

回答No.4

前回の質問の回答で > formのactionにGETを使用していないか? > 通信内容はSSLで暗号化されますが、送信先のURLは暗号化されません。 > 暗号化したい場合は、POSTなどへ変更した方が良いです。 という回答をした人がいましたが、これはウソです。 SSLで暗号化すれば、GETでアクセスした時のURLもパラメータ含めて 暗号化されます。 (参考) http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=26986&forum=14 したがって、SSLを使うからといってPOSTに変更する必要はありません。 今のスクリプトで大丈夫です。 他の部分もGETをPOSTに変更する必要はありません。

jg1wjz
質問者

お礼

Lchan0211b様、 有難うございます。 ネットで検索していく中でも、掲載日付等がなかったりするサイトもあるので、古い情報を見て「え---っ、これじゃダメなの?!」って、結構焦ったりすることがあります。^^; 現時点の情報としましては、サーバ側の対応もできていない(私はこの辺りは理解できていません)のでSSLアクセラレータの導入も検討・・・のようです。 ---> そしたら、何にもしなくていい!? 全部POSTにする要請もありますが、現在運用中でも有るので 今のままで許容されるのであれば、そのまんまにしたいと思います。 一応、事前対策として GET、window.open(URL=cgiで出力) ---> POST、window.open(URL=cgiで出力)の方法を完璧にしておきたいです。

  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.3

パラメータを隠してCGIに情報を送りページを開きたいのなら 基本的にCookieを使うしかありません

jg1wjz
質問者

お礼

b0a0a様 ありがとうございます。 最後の手段としてCookieを使いたいと思います。

  • t_ohta
  • ベストアンサー率38% (5292/13827)
回答No.2

SSL対応でPOSTにするとは、どういう事でしょう。 GETメソッドでもHTTPSで通信させればSSLに対応しますよ。

jg1wjz
質問者

お礼

t_ohta様 ありがとうございます。 GETでも大丈夫なんですね。 でも実は全部POSTにするよう要請もあるんです。 過去にGET--->POSTに手直しした経緯があります。 その際に影響の無い(改ざんされない)「参照」のみの部分はGETのままになっていまして、今回それも直さないと。。。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

リンクで開く場合はQUERY_STRINGかPATH_INFO以外データを渡す方法はありません。POSTはformの機能ですから <form method="post" action="./aaa.cgi" onsubmit="return false;"> <input type="text" name="data" /> <input type="submit" name="form" value="送信" onclick="open(this.form)"/> </form> <script type="text/javascript"> function open(f) { f.target = "newWindow"; var w = window.open("about:blank", f.target, 'width=200, height=200'); w.focus(); f.submit(); } とか・・ ダミーhtml(ダミーじゃなく、見出し部分などだけのhtml?) じゃダメですよ。 CGIを使うなら、この元ページ自体もCGIから出力させるほうが楽だと思います。   </script>

jg1wjz
質問者

お礼

ORUKA1951様 ありがとうございます。 ちょっと難しそうですが、理解しながら上記コードを組み入れて試してみたいと思います。

関連するQ&A