• ベストアンサー

データを見えなくするには

お世話になります。 PerlでHTMLの送信フォームよりパラメータを受取り、TEXTファイルに書き込むプログラムを作成しました。これはうまく動くのですが、そのTEXTファイルの所在するURLを指定すれば、簡単にブラウザで中身が見れています。そのデータは名前や住所、電話番号、Emailなどの個人情報なので、そんなに簡単に見れてしまうと困るのですが、皆さんどうしているのでしょうか? 確かにPerlで吐き出すHTMLソースには保存先ファイル名などは出てきませんが、どうも気持ち悪いので、自分で作りながらUPする気になれません。 データを見えなくする(あるいは見えても暗号化みたいにする)方法を教えてください。

  • Perl
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
noname#25358
noname#25358
回答No.1

 俺がよく使うのは、データファイルの拡張子に .cgi を指定する方法です。  パーミッションを666にしておけば、データが実行(笑)されることはありませんし、アパッチが勝手にプログラムファイルと勘違いしてくれるので、中身が表示されることもないというわけです。

souta_n
質問者

お礼

やってみました。 は~っ・・・なぁるほど。 確かにみれません。 Webサーバーを騙すんですね。いや勉強になりました。

その他の回答 (1)

回答No.2

暗号化するのは現実的ではないかと(^^; 解読されたら終わりですから。 (CGIで毎回暗号化、復号化する分のロスもありますし) まずはパーミッションの設定で読めなくすることだと思います。 suExec対応のサーバなどでは。 その他、.htaccessでブラウザを含めたユーザエージェントから データファイルを読めなくしてしまうことなどが一般的です。 理想をいえば、docroot以外の場所にデータを移してしまいたいところですが、 レンタルサーバではその設定ができないことも多いですよね。 no.1さんがふれられていますが、 拡張子を.cgiに変えるのも手軽でいいですよね。 アクセスされるとエラー表示になるのが若干悲しいですが(^^; (それがデータファイルなのだと推測される点も・・)

souta_n
質問者

お礼

>その他、.htaccessでブラウザを含めたユーザエージェントから >データファイルを読めなくしてしまうことなどが一般的です。 う~ん、早速htaccessをブラウザで調べてみました。難しい・・・ちょっと時間をかけて勉強してみます。 もし、このサイト参考になるよ・・・というものがあればURL教えてください。 ありがとうございました。

関連するQ&A

  • SSLで暗号化されたデータを受取るCGI

    SSLというものを使ったことがない者です。 下記の様な送信フォームを URLをhttps://****.htmlという名前にすると暗号化されてデータが送られるそうですが ========= 送信フォーム ============ <form action="****.cgi" metod="POST"> <input type=text name="koumoku"> <input type=submit value="送信"> </form> これを受ける側のCGIは、従来どおり ======== 受側CGIファイル ======== #! /usr/local/bin/perl require "./cgi-lib.pl"; &ReadParse(); $koumoku=$in{'koumoku'}; とすれば、koumokuで送信されたデータは、勝手に暗号化前に戻されて$koumokuに入るものなのでしょうか それともCGI側に何か暗号化されたデータを暗号化前に戻すコードみたいなものが必要なのでしょうか

    • ベストアンサー
    • Perl
  • JavaScriptからPerlへデータを送る方法について

    プログラミング初心者です。 HTMLで書いたフォームの中にあるテキストエリアのデータを、JavaScriptでデータを取り出して、それをPerlで受け取りたいのですが、方法に見当がつきません。 以下は書いてみたソースコードです。 HTMLファイル <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Form Test</title> <script type="text/javascript" src="JS/sample.js"></script> </head> <body> <form name=form1> <textarea name="comment" rows="3" cols="30">文字の入力</textarea> <input type="button" value="ボタン" onClick="Button()"> </form> </body> </html> JavaScriptファイル function Button(){ var comment = document.form1.comment.value; alert(comment); //値がとれてるか確認したかっただけです } Perlに関しては、#!/usr/bin/perl ぐらいしか、まだ分かりません。 よろしければ、JavaScriptからのデータ送信、Perlでのデータ受け取り方法を教えていただけないでしょうか。この質問に対して有効なサイトがあれば合わせて教えていただきたくおもいます。 よろしくお願いします。

  • HTMLとPerl間のページ遷移について。

    HTMLとPerl間のページ遷移について。 こんにちわ。 HTML(index.html)でログインフォーム(ユーザ名、パスワード)を作成し、そこに入力した情報を、Perl(login.pl)にPOST送信します。 Perlでは、受け取ったパラメータをチェックし、ユーザ名とそのパスワードが正しければ、もとのHTMLファイル(index.html)にページ遷移し、もともとあったログインフォームをJavaScriptで削除し、「ログイン中」と表示させる、ということをしたいのですがわからないところがあり投稿させていただきました。 現在、クライアントでは、JavaScriptを使ってログインフォームを作っています。そして、フォームの中の値を取得して、POST送信することはできます。次に、サーバにてPerlで受け取ったパラメータをチェックし、ユーザ名とパスワードの認証をとるところまではできています。しかし、その後にどうすべきかがわかりません。locationで、もとのHTMLファイル(index.html)を指定しても、ログインを認証したという情報は保持しておらず、それでは意味がありません。 Perlでログインを認証した後に、認証したという情報を保持したままHTMLページに遷移する事は可能でしょうか。可能であればその方法を教えていただきたく思います。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • フォームメール送信時のアラートについて

    HTMLとJavaScriptで作ったフォームメールで、送信ボタンをクリックすると、 ブラウザから ------------------------------- このフォームは電子メールを使用して送信されています。 このフォームを送信すると、電子メールアドレスが受信者に公開され、 フォームのデータが暗号化されずに送信されます。 この送信は続行できますが、取り消すこともできます。 [ OK ] [キャンセル] ------------------------------- というメッセージが表示されます。 このメッセージを表示させなくする方法はないのでしょうか?

    • ベストアンサー
    • HTML
  • フォームに書き込まれたHTMLタグを出力したい

     フォームに書き込んだHTMLタグを、出力後、ちゃんとHTMLタグとして生成させる方法を知りたいのですが。(言葉足らずですいません、例えば、掲示板の入力フォームで、テキストに書かれた例えば<font color=red>というHTMLタグを使い、フォーム送信後、文字が赤くなっている、ということを実現させたいだけなのですが)  当方、Perlどころかプログラミングそのものを理解していない者ですが、訳あってソースをいじるお手伝いをすることになって困っております。以前、さらっと一行、コードを書くだけで実現できると思ったのですが。ご教授頂ければ幸いです。

    • ベストアンサー
    • Perl
  • textarea形式のフォームで複数行入力したテキストデータを保存すると、複数行のデータができてしまう現象を回避する方法

    「テキストファイルのデータを読み込み、html画面のフォームに表示させ、データを修正後、元のテキストファイルに書き戻す」というCGIを作成中です。 テキストファイルのデータの並びは決まっていて、例えば3番目のデータが「名前」4番目のデータが「住所」だったりします。 ここで、複数行の入力が必要なフィールドをが必要となり、"textarea"形式のフォームを設定したところ、複数行のインプットをすると、テキストファイルにも複数のデータができてしまいました。2行のデータをインプットすると、データも2行になってしまい、後のデータがずれてしまいます。 そこで「複数行のテキストデータを、改行マークをつけたまま、1行のデータとして保存し、読み込んでtextarea 形式のフォームに表示させるときは、改行されて表示する」という処理が実現できるよう、時間をかけて調べておりますが未だ判らない状態です。  ご存じの方がいらっしゃいましたら是非教えて頂きたく、宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • Enterキーを押しても送信しないようにする

    ユーザーリクエストを受付けるHTMLフォームに 例えばテキストボックスがいくつかあって送信ボタンをクリックするとCGIにパラメータが送信されるという時に、テキストボックスの1つめにデータを入れた後、2つめ以降まだ入力してないのにEnterキーを思わず押してしまって送信されることってありますよね。 Enterキーを押しても送信されないようにすることって出来るのですか。よく、空白のテキストボックスが残っていると、「○○を入力してもう一度送信ボタンをクリックしてください」というエラーメッセージを表示して戻す。という手がありますが、テキストボックスが空白でも、データ送信はできる様にしたいのです。そうするとEnterキーを殺すしか方法が思いつかないのですが・・・

    • ベストアンサー
    • Perl
  • 入力フォームで入力されたデータをHTMLファイルで出力させたい。

    入力フォームから入力されたデータを、 HTMLファイルで出力しようと考えています。 ブラウザで表示させるのではなく、 ファイルとして出力したいです。 いろいろググりましたが、サンプルが見つかりませんでした。 可能でしょうか。宜しくお願いします。

    • ベストアンサー
    • PHP
  • Eメール文章中でCGIの起動

    WEBページ上で、登録フォームがあって、入力、送信ボタンを押すと、メールなどで連絡が行くCGIフォームが有りますが、それをEメール上で行いたいのですが、上手くできないので教えて下さい。 上司への報告書を、添付ファイルとともに、どういう内容だったかをテキストでHTMLメール送信をし、そのメール上に上司のコメントを書くテキストボックスが有り、そこに上司が入力して、メール上の登録ボタンを押すと、CGIが起動して、データベースに登録するというものを作成したいです。 同じようなものをWEB上ではできて、表示、登録ができています。 その内容をHTMLメールで送ると、HTMLメールで表示はできているのですが、CGIの登録ボタンを押すと、反応しない状態です。 HTMLメールでも、Eメール上からでは、CGIが起動しないのでしょうか。 このように設定したら(メール送信上でこのプログラム文章があれば)CGIも動くHTMLメールになる、というものが有りましたら教えていただけましたら大変助かります。 ご不明な点がございましたらお聞き下さい。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • CGI
  • ファイルのダウンロード

    小生それ程Perlに精通しておりませんので、あんまり難しいコードは理解できません。この間、ひーひー言いながら、このサイトのお力も借り、HTMLフォームからデータエントリするとWebサーバー上のテキストファイルでのデータベースに追加されていくシステムを作ることができました。そこでWebサーバー上にある、テキストファイルをローカルコンピュータにダウンロードするPerlのプログラムコードを知りたいのです。 お力添え宜しくお願いします。

    • ベストアンサー
    • Perl

専門家に質問してみよう