CSVでまとめた文字列を、Ajax経由でPerl/CGIを実行して取得して、DOM ScriptingでHTMLに配置しています。つまり、JavaScriptのソースコードを見れば、誰でも簡単にCSVにまとめられた文字列を参照できてしまうことになると思います。環境変数などを使って防ぐ方法を思案してみたのですが、いいアイデアが浮かびません。同一サーバにあるJavaScriptファイルからしか参照できないようにする、みたいな、都合のいい方法は存在しますか?サーバサイドで他の言語を使っても同じ結果の気もしますし…。暗号化する、なんて高度なことはできませんし…。HTMLをPerl/CGIで丸ごと出力してしまうしかないのでしょうか…、でも、そうすると、どちらにせよDOM Scriptingを使えば簡単に参照できてしまうかもしれませんが…。
No.1
- 回答日時:
こんにちは
>Ajax経由でPerl/CGIを実行して取得して~
…とのことですから、
>JavaScriptのソースコードを見れば、誰でも簡単にCSVにまとめられた
>文字列を参照できてしまうことになると思います
…ということにはなりませんよね?
ソースにはCSVデータは記されていないのですよね??
・・・とはいっても、
>DOM ScriptingでHTMLに配置しています
なので、生データではないにしろ表示された値は当然ながら見ることができますし、そこから元のデータを推測することもある程度までは可能なはずです。
データを見せたくないのなら表示しないことになってしまうけれど、何か矛盾していませんか?
ご回答いただきまして、ありがとうございました。禅問答のような質問にお付き合いくださいまして、本当にありがとうございます。
AjaxでリクエストしているcgiのURLはソースコードを見ればわかりますので、そのcgiにやり方を変えて直接リクエストをすれば、cgi
が出力するCSVのデータ(そのリクエストに沿ったごく限られた一部のデータですが)は、Ajaxを通さなくても返ってしまいますよね。回数を繰り返せば、CSVの全データを抜き出すことも可能なのではないでしょうか。また、やり方によっては、第三者が、そのCSVを利用して別のサービスができてしまうことになるのではないでしょうか。
No.2ベストアンサー
- 回答日時:
ANo1です。
>直接リクエストをすれば、~~Ajaxを通さなくても返ってしまいますよね。
>第三者が、そのCSVを利用して別のサービスができてしまう~~
データを表示している以上は、時間や手間をかければ全体像を把握されるのを完全に防止することはできないと思います。
ただし、簡単にはデータを抜き取られないようにすることは可能だと思います。
例えば、リクエスト元が自サイトであることをチェックするだけでもある程度は防止できるでしょうし、セッションを利用してアクセスを管理するといった方法もありそうです。
これだけでも、ある程度の制限にはなるでしょうし、その他にもいろいろ手段はあると思いますが、上にも記しましたように、公開している以上は、内容を完全に秘密にするというのは無理ではないかと思います。
(まぁ、公開の趣旨とも矛盾しますし)
丁寧にお付き合いいただきまして、本当にありがとうございました。大変、参考になりました。公開するのに隠したい、確かに本当に矛盾していますね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) セルを参照して条件で値をコピーする 3 2023/02/08 17:45
- Java Java 南京錠 2 2023/02/04 11:46
- C言語・C++・C# LU分解法のピボット選択機能実装について(C言語・gcc-9) 1 2022/07/22 15:20
- Visual Basic(VBA) Excel VBAで教えてください 4 2022/05/11 22:20
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Excel(エクセル) csvに別のExcelの文章を差し込む 2 2023/04/01 16:06
- Excel(エクセル) 同じ品番のマスタで最新日付のものに〇印を入れたい 3 2023/03/31 17:45
- Excel(エクセル) 配列操作について 5 2023/04/18 07:27
- JavaScript HTMLでJavaScriptを使用してプログラムを作ります。 入力されたパスワードを取得して、パス 2 2022/10/18 01:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DTOとEntityの差は何ですか。
-
wordの差し込み印刷で文字...
-
WordでExcelデータを差込...
-
excel access連携 このテーブル...
-
MSFlexGridのデータを初期化し...
-
【C#】DataGridViewの最大列数...
-
C#でのForm間のデータ受け渡し...
-
画像の読み込み&白黒判別プロ...
-
表を表示するコントロールについて
-
TCPでデータを受け取ってそれを...
-
INIファイルに一括書き込みを行...
-
ActiveReportのサブレポート機...
-
「外部データの取り込み」とい...
-
エクセルVBAとWEBクエリ...
-
VB.NET 2017の勉強中です。 今...
-
★お手上げ状態です。助けてくだ...
-
小数点以下を含む計算でバグが...
-
「取得先」という表現について
-
Dosブロンプトでtabを出力したい
-
switch()文で値の大小比較
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
wordの差し込み印刷で文字...
-
DTOとEntityの差は何ですか。
-
【C#】DataGridViewの最大列数...
-
excel access連携 このテーブル...
-
WordでExcelデータを差込...
-
ActiveReportのサブレポート機...
-
GridViewからチェックボックス...
-
★お手上げ状態です。助けてくだ...
-
VBA内でのGetPixelを使用した時...
-
表を表示するコントロールについて
-
Windowsのマクロプログラムで、...
-
INIファイルに一括書き込みを行...
-
MSFlexGridのデータを初期化し...
-
C#でのForm間のデータ受け渡し...
-
「外部データの取り込み」とい...
-
C言語で地図を描きたい
-
小数点以下を含む計算でバグが...
-
エクセルVBAで楽天証券に注...
-
CSVのインポート【ASP.NET】
-
画像の読み込み&白黒判別プロ...
おすすめ情報