• 締切済み

動作中のCGIのソースを公開したい

自分のサイトにて自作のCGIを用いたシステムで閲覧者からの投稿を受け付けています。 暗号化が必要な情報はcryptを用いたり、アクセス情報は極力収集しないようにしているのですが、一部の利用者から不安の声が上がりました。 出来ることならソースコードを見せたいのですが、別ファイルとしてアップロードをすると動作中のCGIと同一のものであるというのを証明するのが難しくて悩んでおります。 「動作中のCGIのソースをそのまま見せる」、あるいは「動作中のCGIと同一のソースであることを証明する」といういずれかを実現したいです。 CGIのソースを見せたくないとか見たいという質問は過去に多くあったようですが、見せたいという質問は見当たらず質問させていただきました。 なるべく早く回答していただけると幸いです。 よろしくお願いします。

  • Perl
  • 回答数3
  • ありがとう数0

みんなの回答

  • myuki1232
  • ベストアンサー率57% (97/170)
回答No.3

すでに指摘があるように、ソースを見せるだけでは現在動作中のものと同一であることが証明出ません。 興味があったので色々考えてみましたが、なんらかの管理者権限を与えない限り不可能です。これはコンピュータやインターネットの仕組み上仕方のない事です。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

技術的にいくつかの方法は思いつきますが、「見せる時だけ偽装してる」と疑えば、どの方法使っても「無駄」じゃないでしょうか?

  • MOMON12345
  • ベストアンサー率32% (1125/3490)
回答No.1

たとえそのcgiで情報を取得していなくても、他にjavaを動かしていたりアクセスログやサーバのログで収集は十分可能です。 従って掲示板(かな?)のcgiを公開する意味は全く無いと思います。 また実際に動作しているcgiのソースを公開する事は出来ません。 ただしそのソースをダウンロードさせた後にアップロードし、それを動作させてみる事は出来ます。 ただしセキュリティ的にはとんでもない事なので推奨出来ません。

関連するQ&A

  • cgiを動作させるには

    過去に類似した質問がないか検索してみたのですが、ほしい情報を得られず、こちらで質問させていただきます。 今回、flashとcgiを組み合わせて作品を作り、それを展示しようと考えています。 ですが、展示場所にはPCはあってもインターネット環境がありません。 これまでほんのすこしだけcgiを扱ったことがありますが、webを通さずに動作するというイメージがありません。 きちんと勉強したことがあるわけでもないので、イメージでしかないのですが、実際のところはどうなのでしょうか? やはりインターネット環境がなければcgiの動作は不可能なのでしょうか? 基本的なことでお恥ずかしいのですが、お教えいただければ幸いです。 よろしくお願いいたします。

  • Rubyのcgiが動作しません。

    下記のように4行のルビーのcgiを作りました。 ファイル名rb.cgi #!/usr/bin/ruby print <<EOF あああ EOF これをRubyを提供しているapacheサーバにアップロードし パーミッションを777にしました。 文字コードはEUC、改行はLFのみです。 しかし、Internal Server Errorが表示されます。 そこで、サーバにログオンし、このcgiファイルの ディレクトリまで移動し、./rb.cgiを実行すると あああと表示されます。また、このcgiファイルと 同一ディレクトリにあるparlのcgi(掲示板)は 正常動作しています。 どこが間違っているのでしょうか?

    • ベストアンサー
    • CGI
  • パスワード暗号化について(CGIスクリプト)

     現在記事削除処理の、キー暗号化と解読について勉強しているんですが、他の方が書いたソースを読んでもさっぱり意味不明です。技術評論社さんのリファレンスを参考にしてるんですが、どうも載っていないワザが使われているらしく・・・。  まずは暗号化処理です(とある有名ソースから抜粋)。 @SALT = ('a'..'z', 'A'..'Z', '0'..'9', '.', '/'); srand; $salt = $SALT[int(rand(@SALT))] . $SALT[int(rand(@SALT))]; $encrypt = crypt($password, $salt) || crypt ($password, '$1$' . $salt); 問題は$encryptなんですが、||演算子は、要するに左オペランドの保険みたいなものなんでしょうか?まず、左オペランドが偽になる、ということ自体が分かりません。結果が偽になる、というのは0を返すということでしょうか?  crypt関数が処理を失敗する(?)、ということでも偽になるかもしれないんですが、暗号化処理を失敗などということがあるのでしょうか?  次に、ひとまず左オペランドが偽だった場合ですが、右オペランドに関して、暗号化キーが「$1$xx」の5文字ですよね。暗号化キーは2文字までしか評価されないから、結局これは「$1」と変わらない気がします。というより、まずなぜ「$1$」なんでしょうか?そして、合計5文字の意味は・・・?謎は深まるばかりです。  質問の長さが800文字を超えてしまうので、前半はここで切らせていただきます。  後半は「パスワード解読について(CGIスクリプト)」にて質問させていただいています。  どうかよろしくお願いします。

    • ベストアンサー
    • Perl
  • VistaでCGIが動作しなくなった?

    初めまして、PerlでのCGIプログラミング初心者です。 今回、PCを新しく買い替えたので、データの移行作業がやっと終わったところなのですが、 前のPCで正常にできていたCGIプログラムが動作しなくなってしまいました。 現象はCGIプログラムのソースがそのまま表示されてしまうというものです。 初めに、バージョン情報等を記載しますと、 OS:Windows XP Home Edition → Windows Vista Home Premium Apache:apache_2.0.54-win32-x86-no_ssl → apache_2.0.63-win32-x86-no_ssl activeperl:5.8.7.813 → 5.10.0.1005 私がやったことと言えば、10日で覚えるシリーズの本に書いてあったとおり、 httpd.confの内容を書き換えただけなのですが、apacheは正常に動作するのに、 CGIプログラムがそのまま出力されてしまいます。 以下にhttpd.confの書き換え内容を記載します。 Option Indexes FollowSymLinks → Option Indexes FollowSymLinks Includes ExecCGI AllowOverride None → AllowOverride All #AddHandler cgi-script .cgi → AddHandler cgi-script .cgi #AddType text/html .shtml #AddOutputFilter INCLUDES .shtml → AddType text/html .shtml AddOutputFilter INCLUDES .shtml ここは何度も確認しましたし、念のため本に付属のCD-ROMに入っていたファイルを そのままコピーして試したりもしたので、この設定が間違っているということはないと思います。 Apacheが正常に動作して、CGIプログラムが正常に動作しないということは、 この設定以外何がいけないのでしょうか…。また、前のPCでのフォルダ構成や設定とも見直したのですが、 XPだとできてVistaだとできないという認識でいいのでしょうか?変わったところといえば、 ApacheやActivePerlのバージョンとOSくらいですが、バージョンやOSが変わると必要な設定なども やはり変わってしまうのでしょうか。OS関連で調べてみたのですが、有力な情報がなかったので、質問させていただきます。 お手上げ状態です、どなたかご助言をお願いいたします。

    • 締切済み
    • CGI
  • PHPソースコード簡易暗号化(難読化)「POBS」の使い方。

    PHPソースコード簡易暗号化(難読化)「POBS」の使い方。 PHPソースコードを簡易的に暗号化したくて見つけたのが「POBS」でしたが、セッティング方法がいまいちよくわからず、いまだ使えません。 すでに該当ファイルをダウンロードし、サーバにアップロードし、POBSの画面はブラウザ表示できているのですが・・ どなたかわかる方がいましたら、ご教授くださいませ。 よろしくお願いします。 参考にしていたサイトは以下です。 http://pobs.mywalhalla.net/ http://phpspot.org/blog/archives/2006/01/phpjavascriptpo.html

    • ベストアンサー
    • PHP
  • サーバーでCGIを実行すると500Errorが発生します

    CGI初心者です。 マニュアル類、過去の質問に目を通しましたがそれでも解決 しない問題に直面した為、質問させて頂きます。 CGIをサーバー(ロリポップ)にアップロードさせて 実行したところ、500Errorが発生します。 ■CGIの内容 検索フォームに入力されたキーワードをキーにして Amazonのデータを取得し、HTMLに表示させるというものです。 自作のCGIです。 ■ファイル構成 index.html (属性:604) ItemSearcher.cgi(属性:700) AMAZON_REST.pm (属性:700) CGIの一行目は下記のとおりで、ロリポップ指定の記述法に従っております。 #!/usr/bin/perl ・CGIはローカルの環境では問題なく動作します。 ・転送モードはASCIIでアップロードしました。 プログラムがバグっているわけでもなく、 環境設定もロリポップの指示のとおりに行いましたが 動作できなくて途方にくれております。 他にもチェックすべき箇所がございましたら ご指摘をよろしくお願いいたします。

    • ベストアンサー
    • CGI
  • パスワード暗号化CGI

    以下のようなパスワード暗号化CGIを作りました。 #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<HTML><BODY>\n"; $salt = "AB"; open(IN,"pass.txt"); while(<IN>){ $pass = $_; $encpass = crypt($pass, $salt); print "$pass:$encpass<br>"; } close(IN); print "</BODY></HTML>\n"; exit; pass.txtは 1234[改行] 5678[改行] 9012[EOF] のようになっています。 一応暗号化されるのですが、出力結果を見ると 1234 :ABn4qpcmwMnAM のように暗号化前のパスにスペースが入っているんです。 ソースは 1234 :ABn4qpcmwMnAM<br>5678 :AB/ptyBM.rnKY<br>0000:ABiAqp1qc1hMQ<br> となっていて、pass.txtの改行が問題なんだと思いました。 そのためか、暗号化がうまくいきません。 何かこの改行を取り除く良い方法はないでしょうか。

    • ベストアンサー
    • CGI
  • fireFoxブラウザでcgiで生成したソースがそのまま表示されてしまう

    先駆者の皆様、こんばんわ。firefox(ブラウザ)に関するもので、困り果てております。分かる方が居られるかも疑問ですが、皆様のお知恵を拝借させて頂けたら、幸いでございます。 質問は「FireFoxブラウザで特定のcgiのみ、htmlソースがそのまま出力されてしまう」です。 見て頂くのが一番、分かりやすいと思いますので、以下にその掲示板へのリンクを張らせて頂きます。FireFoxをお持ちの方は見てみて下さい。(※1)ソースがそのまま出てますよね。 ※1問題の掲示板 http://www.chibamania.com/cgi-bin/bbs2/index.cgi?ac=ichikawasi_gyoutoku ・サーバー上で正常に動作しているプログラムもある ・IEだと正常に表示される ・一度htmlとして保存したものは表示される。 まず、IEでは正常に表示されるので、htmlの解釈の違いかなと思いました。でもそれにしては、表示されたソースをコピペしてhtmlとして作成したものはFireFoxでも問題なく見れるのです。(※2) ※2表示されたHTMLを設置(同じサーバー、同じ階層) http://www.chibamania.com/cgi-bin/bbs2/a.html 掲示板のperlのソースはケントウェブさんからお借りしたもにに少しだけ修正したものを使ってます。同じ症状で苦しんでいる方は居られますか? とても難解な問題なため、ここですぐに答えがいただけるとは思えませんが、ワラをも掴む思いで質問しました。どうか情報をください。宜しくお願い致します。

  • CGIをHTML(scriptタグ)上でうまく呼び出せない

    お世話になっております。 お分かりになる方いらっしゃいましたら、ご教授願えますでしょうか? 以前別の質問を致しましたが、 解決出来なかったので、再度質問させていただきます。 http://oshiete1.goo.ne.jp/qa5129802.html カウンターを設置するため、テストページを作り、 テストページ(htmlファイル)からカウンターcgiを呼び出したいのですが、 Internal Server Errorが出てしまいます。 パーミッションの設定、アップロードの仕方について、 こちらの質問で親切に色々教えていただきましたが、 やはりカウンターが表示されません。 同じソースで表示されている方がいらっしゃるので、 ソースの修正は必要ないと思います。 また、こちらの質問でも記載しましたが、 同じサーバにメールを送るCGIを設置していますが、 こちらは動作しています。 他の原因を色々探っているのですが・・・。 他に原因があるのでしょうか? お手数ですが、宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • cgiがうまく動作しません。

    はじめまして。 現在独学でlinuxの勉強をしている者です。検索をしたり本を読んだりして対策を試みたのですがどうしても解決できないため、質問させていただきます。 環境は redhatlinux9 Apache2.0.40 です。 cgiを置いたディレクトリにブラウザでアクセスすると、 Internal Server Error と出てしまいます。 ログを見ると、 [error] 6099: ModPerl::Registry: Can't locate ./jcode .pl in @INC (@INC contains: /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/li b/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/pe rl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i3 86-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_per l /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 .) at /var/w ww/cgi-bin/bbs/wforum.cgi line 11.! と表示されています。試しにwforum.cgiの11行目以下の require './jcode.pl'; require './fold.pl'; require './wf_init.cgi'; を require 'jcode.pl'; require 'fold.pl'; require 'wf_init.cgi'; と変更してみたところ、今度は (略)Can't locate fold.pl(略) at /var/www/cgi-bin/bbs/wforum.cgi line 12.! というエラーログが表示されました。 perlプログラムの文法、パーミッション、改行コード、FTP転送の際の転送モードは確認済みのため、問題ないと思われます。また、ここの過去ログを参考にして作成した #!/usr/bin/perl print<<EOF Content-type: text/html <HTML><BODY>CGI works Good.</BODY></HTML> EOF というtest.cgiは動作可能でした。 こういった場合、どのような原因が考えられるでしょうか。どうかご教授ください。よろしくお願いします。