アプリ版:「スタンプのみでお礼する」機能のリリースについて

トップページのcgiなのですが、セキュリティ上、なるべく、cgi動作だと分からせない(cgiという拡張子ではなく、htmlで動作させています。)ようにしたいのですが、、
javascript:alert(document.lastModified)
を入力すると、更新日時が現在の時刻(HPを開いた時刻)
となってしまい。
2度3度調べられると、これは、動的なHPだと分かってしまいます。
どのようにすれば、偽装、もしくは、更新日時を示さないようにすることができますか?
宜しくお願い致します。

A 回答 (5件)

>JavaScriptを使わない方法でも確か、更新日時を知る方法


ウェブサイト巡回ソフトによる、取得ですよね?
それって、HEAD リクエスト投げてきますから、
http://www.koizuka.jp/~doggie/wwwd-handbook.html
こんな感じで、Last-Modified出力する所で、偽の時刻生成して返してみては、

けどIEの挙動は、元がCGIだった場合、確認のリクエスト投げずに表示してるぽい、
(LAN抜いても、平気で時刻変えて返してくる、、(==; )
ので、No4の処理も入れといてくださいな。
    • good
    • 0
この回答へのお礼

回答いただきありがとうございました!!

お礼日時:2005/12/27 23:34

よく考えたら、関数オーバーライトしちゃえば、


無効に出来ますよね。

<script type="text/javascript">
function alert(){}
</script>

これ仕込めば、alert()無効に出来ます。
    • good
    • 0
この回答へのお礼

回答いただきありがとうございます。
JavaScriptを使わない方法でも確か、更新日時を知る方法があった気がします。
そのため、ちょっと難しいかと。。。

お礼日時:2005/12/05 08:55

そんな手あったんですね、勉強になりました。



こちら、サーバ環境無いので、試していませんが、

トップページを 通常のhtmlで書いて、内部で、<frame>でcgiのhtml画面を呼び出す
方法では、ダメでしょうか。

<html>
<head>
</head>
<frameset>
<frame src="frame1.htm" name="frame1">
<noframes></noframes>
</frameset>
</html>

で、「javascript:alert(document.lastModified)」こんな事するユーザなら、
ソースくらい確実に見ると思われるので、
cgiで一度作成されたhtmlをダミーとして内部処理で書いとけば、
(</frameset> と </html>間に書かれた記述は無視されるのでここにダミーを書く)
(<frame>は目立たないようにして、、)
無理ですかね、。


これでも、フレーム無しで叩かれたらネタばれちゃいますけど、。
    • good
    • 0

すみません、こちらの勉強不足かもしれませんが、


そんな処理不要だと思うんですけど、違いますか?(--;

「javascript:alert(document.lastModified)を入力する」
って仕組むのは、悪意ある第三者でいいのですよね?
その人ってどうやってこの記述仕込むんでしょうか?

ローカルに一度HTMLコピーしてからなら、
動作させるから、javascript:alert(document.lastModified)では、
コピーして変更した日付になるから意味無いし、。

クロスサイト スクリプティングで動かされるんなら、それ以前の問題
に思えるし、、(==;

opener等なら、同サーバ間じゃないと動かないと思うのですが??
(違ったっけ?)
    • good
    • 0
この回答へのお礼

回答いただきありがとうございます。
javascript:alert(document.lastModified)を、CGIで動いていそうなページを開いてIEのアドレスで入力すると、あたかも、今しがた、ホームページを更新したかのように出力されます。
つまり、2,3ど実行するうちに、そのページが、CGIであるか、単なるHTMLページであるかが分かるというわけです。
もしかすると、気にしすぎかもしれませんが、依然、DOS攻撃とまではいかなくても、異常なアクセスがあったためCGIと気づかれない工夫をしたいと思っています。

お礼日時:2005/12/04 12:32

headerでLast-Modified:を出力すれば可能かも


しれません。
Cache-Control:やPragma:と併用しないと
キャッシュが有効で、クライアント側で表示が
変わらない場合も考えられます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!