• ベストアンサー

URLに表示されるパラメータについて

携帯用のメンバー制cgiを使っています。 クッキーで式でなく、パラメータ(引数)にIDとPASSに渡してページ間をリンクさせるのでURLにIDとPASSが丸見えになります。個人的に不安を感じるのでパラメータ部分を暗号や記号みたいなものに変換してURLに表示させる簡単な方法はないでしょうか?Perlの知識はほとんどない私ですが、アドバイスをいただけたら幸いです。 以上、よろしくお願いします。

  • CGI
  • 回答数3
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

不安を感じるのは正しい感覚です。 多少面倒にはなりますが、ぜひとも、「セッション管理」をしてください。 http://www.google.com/search?q=perl+%83Z%83b%83V%83%87%83%93%8A%C7%97%9D 暗号化しようとも、IDとPASSの両方を同時に渡すのは避けるべきです。

nyarome44
質問者

お礼

大変参考になるアドバイス有難うございます。 これから少し勉強が必要ですが解決の糸口になりました。

nyarome44
質問者

補足

ご回答いただき感謝します。 しかし、セッション管理の場合はかなり勉強しないと私には無理のようです。 とりあえず簡単に出来そうな別手段があれば追加でアドバイスをよろしくお願いします。

その他の回答 (2)

  • atom_seed
  • ベストアンサー率48% (25/52)
回答No.3

セッション管理が難しいとおもうなら、「セッションぽい管理」から初めてはいかがでしょう。 例) xzkajekdas id1 ueiudekzam id2 quzuesikes id3 aiamelzilk id4    : のような対応表を作っておき、認証後には、ランダムな文字のほうを引き渡し続けるようにします。 対応表を元に、ランダムな文字⇒IDとして読み換えることで、個人を識別できます。

nyarome44
質問者

お礼

大変参考になるアドバイス有難うございます。 これから少し勉強が必要ですが解決の糸口になりました。

回答No.2

もしもメソッドをGETに指定し、URLが http://www.hogehoge.com?id=ID&pw=password 的な形で直接的に見えるのを避けるのであれば、メソッドをPOSTにするのも一つの手です。 ただ、この方法でも生TEXTがそのまま流れてしまうことには変わりないので、DESやAESなどで暗号化をして送付した方がよいと思われます。

nyarome44
質問者

お礼

大変参考になるアドバイス有難うございます。 これから少し勉強が必要ですが解決の糸口になりました。

nyarome44
質問者

補足

POSTを使ってページをリンクさせる場合は必ずフォームボタンにしないとダメなのでしょうか? <form action="http://www.hogehoge.com" method="post"> <input type="hidden" name="id" value="ID"> <input type="hidden" name="pw" value="password"> <input type="submit" value="リンク"$slash> </form> 現在の仕様ではテキストリンクの形になっています。 <a href="http://www.hogehoge.com?id=ID&pw=password">リンク</a> Perl知識がなくてたびたび恐縮ですが、見栄えがテキストリンクのようにできる方法があったら教えてください。

関連するQ&A

  • ?trr=12&eri=sdf について

    タイトルのようにCGI同士、リンクを貼る方法として良く使われる手法だと思いますが、これでは中のIDが丸見えになってしまい、どうしても良くありません。なんとか暗号化しておきたいのですがどのようにすれば良いのか解りません。どうかおしていただけないでしょうか?又、いろいろと調べた結果、クッキーを使って出来る事を聞きましたが、それを使う事がサーバー上で制限されていて出来ません。CGIを使って暗号化できるという事を聞きましたがどのようにすれば良いのか解りません。 どうしてもこれをやらないといけないのですが、誰か教えた頂けないでしょうか? これを調べるのに1週間もかけています。(とほほ)(汗) お願します。

    • 締切済み
    • CGI
  • perlでURLに引数を入れるで表示する方法

    現在以下のURLで正常に表示しています。 http://hoge.jp/i.cgi?id=a これを http://hoge.jp/i.cgi?a で表示させたいと思うのですが、ウエブで調べましたら「METHOD=GETで渡す」方法が現在のやり方 で「コマンドライン引数で渡す」方法に変えたいのですが、perlの記述がいまいちわからず迷ってます。 プログラムはファイルを読み込んで if ("$idno" eq "$id") のこの$idの条件式でヒットさせているものになります。 変数記述等アドバイスいただけますと助かります。 うまく説明できずすみません。 よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • CGIに渡しているパラメータを表示させたくない

    現在 xxx.cgi?para1=aaa&para2=bbb といったようにパラメータを渡して動いているCGIがあります。 このCGIの変更は無理な状況で(仕様変更にお金がかかるので...) 渡しているパラメータを隠したいと思っています。 とりあえず考えたのがもうひとつ別のCGIを作って そこでJava Scriptで本来のURLに飛ばす処理でしたが、 JavaScriptを無効にされたり、リンク先を保存されたりしたらわかってしまいます。 何かいいアイデアはないでしょうか?

    • ベストアンサー
    • CGI
  • SSL通信を行っている際のURLのパラメータについて

    今回、SSL(Secure Sockets Layer)を使用してWebサイトを作成する事に なりました。SSLの事は勉強している段階です。 そこで現在不明な点がありますので、御質問させて頂きます。 <質問> SSLとは、[Webサーバ]-[クライアント]間でデータを暗号化して通信されますが、 URLに任意の情報(パラメータ)を付加した場合、URL自身も暗号化されるので しょうか? それとも、第3者からは丸見えなのでしょうか? 暗号化される対象がどの範囲までかよくわかりません。 皆様、御教授お願い致します。

  • パラメータをランダム文字列で表わしたい

    某サイトでリンクをクリックすると、下記のようにランダム文字列がパラメータとして渡されるものがあります。 http://www.foobar.jp/cgi-bin/abcd.cgi?a=10004414&b=PMird395j ランダム関数で生成?もしくは暗号化?しているのではないかと思うのですが、例えば商品番号などをそのままの数値でなく暗号化することができれば、セキュリティの向上にもつながるのではないかと思います。 このような文字列をPHPで簡単に生成する方法には、どのようなものがあるでしょうか。もちろん、文字列から元のIDや番号を復元できなければなりません。暗号化を使うのが良いのでしょうか。

    • ベストアンサー
    • PHP
  • パラメータの渡し方

    いつも参考にさせて頂いています。 初心者ですが宜しくお願いします。 現在WEB開発中です。 hoge.do?parameter=… というような感じでgetでパラメータを渡す場合(リンクでパラメータを渡そうとしています。)、parameter=…というところが丸見えになっている状態です。 1.隠すことってできないんでしょうか?(みなさんはどういう対応をなされているんでしょうか?(もしかして暗号化とか…)) 2.「.do」の箇所はweb.xmlのところでなんとかなるような気がしたのですが…みなさんは.doのところはどんな設定にされているのでしょうか?(普通はどういう設定にしてるもんなんでしょうか?) yahooとか見てみるとそんな所(?=…)ってあんまりないような気がしたので質問してみました。 上記2点について回答頂けるととてもうれしいです。 以上宜しくお願いします。 ●開発環境 eclipse 3.1 struts 1.2 tomcat 5.0 jdk 1.4.2

    • ベストアンサー
    • Java
  • URLのパラメーター解析

    アクセスログの集計ツールを作っているのですが URLのパラメーター解析の所がうまくいきません。 例えば、以下の様に変更したいのです。 /folder/test.html?ID=0001&TEST=bbb&NAME=1111&WORK=**** /folder/test.html?ID=0002&TEST=ccc&NAME=2222 /folder/test.html?ID=0003&NAME=3333 /folder/test.html?ID=0004&NAME=4444&WORK=**** を ID,TEST,NAME,WORK 0001,bbb,1111,**** 0002,ccc,2222, 0003,,3333, 0004,,4444,**** (カンマ区切り) 可能ならば、Linuxのコマンドを利用(awkコマンドの連想配列?) して作りたいのですが、他に簡単にできそうな方法はないでしょうか? PERLでやるのが無難でしょうか?

  • パラメータをパラメータで渡したい

    変なタイトルですみません(汗 何がしたいかと言うと・・・いまindex.htmlからcgiに引数つきでリンクをしています。 (<a href="hoge.cgi?Page=1">みたいな感じで) で、認証機能をつけようと思い立ち、hoge.cgi側で「ログインしていなければ(認証しましたよCookieを持っていなければ)、ログインcgiにLocationでジャンプ」という機能を、ログインcgiでは「呼び出し元(Sender)を保存しておいて、認証終了後にLocationで元の位置に戻る」という設計としました。 が、よくよく考えるとLocationではgetしか使えないので、先ほどの "?Page=1" を保存することができません(ネストしてしまいます)。 (要は、ログインcgiに飛ぶときのURLが、login.cgi?Sender=hoge.cgi?Page=1になっちゃってダメやん・・・ということですね) GetがダメなのでPostを使うしかないのでしょうか。 (そうすると、login.cgiに input hidden がズラリ並ぶ事態は避けられないのでしょうか・・・hoge.cgiの引数は一定でないので、ややこしくなりそうで) よろしくご教示ください・・・。m(_ _)m

    • ベストアンサー
    • Perl
  • 表示・非表示の度にURLにパラメーター表示

    初心者なので間違っていることもあるかもしれませんが、よろしくお願いします。 サーバーサイドの言語ではないので無理だろうなとは思っていますが、念の為に詳しい方にお聞きしたいことがあります。 現在サイトを開設していてリンクをクリックしたらその下にサンプルテキストが表示・非表示で切り替わるようにしています。 1ページにこのような表示・非表示のリンクを多数設置しているのですが、クリックして表示させても当然URLはそのままです。 これをクリックした場合、例えば下記のようにすることはできるでしょうか? http://○○.com/sample.html ↓ http://○○.com/sample.html?test このようにパラメーター?がついたURLにして表示させたりしたいのですが。そのURLにアクセスすれば、現在表示させているのがすぐ見れるように。 よくPHPやCGIでみられるやつです。 ソースは下記のようにしています。 □HTMLファイル <a href="#" class="player" onClick="showHide('TEST');return false;">テスト</a> <div id="TEST" style="display: none">サンプルテキスト</div> □外部JSファイル var objTextIDArray = new Array("TEST"); function showHide(targetID) { //functionの宣言。受けとったIDは変数targetIDに格納。 if( document.getElementById(targetID)) { //指定のIDのついたオブジェクトがあったら処理する //指定されたIDのstyle.displayがnoneなら if( document.getElementById(targetID).style.display == "none") { //blockに変更する for(var i = 0; i < objTextIDArray.length; i++) if(document.getElementById(objTextIDArray[i])) document.getElementById(objTextIDArray[i]).style.display = "none"; document.getElementById(targetID).style.display = ""; } else { //noneでなければ、つまりblockなら //noneにする document.getElementById(targetID).style.display = "none"; Javascriptに詳しい方に無理と言われれば諦めつくのですが。もしかしたら何か方法があるかもと思いました。 ご存知の方いらっしゃいましたら、ご教示ください。 よろしくお願いします。

  • SSL通信のURL暗号化について

    お世話になっています。 SSLの暗号化について質問させてください。 こういったことに、あまり詳しくないので的外れな質問であればご指摘をお願いします。 ブラウザからURLを直接指定し、ページへ遷移する場合そのURLが暗号化されているのか平文なのかを知りたいです。 例えば、 https://hoge.hoge.jp/login?id=AAAAA&pass=BBBBB というURLでアクセスした場合、そのURLを第3者に傍受され、クエリストリングである id=AAAAA pass=BBBBB という情報を読み取られてしまうことはあるのでしょうか? SSLでフォームデータを送信するようなセキュリティが確保されているかを知りたいです。 ご回答よろしくお願いします。

専門家に質問してみよう