はじめまして。
Apache最新版をLinuxで使ってます。
WEBサイトを構築してますが、一般アクセス者に
作曲ファイル(MIDIなど)やイラストをUPしてもらい、
それを自由にDL出来るサイトを作ってます。
しかし、中にはCGIをUPしたり、HTMLファイルをUPして、
勝手にHPを作ってしまうような人が見られるようになりました。
CGIはApacheのhttpd.confで該当区域は無効にしています。
しかし、HTMLファイルをアップする人には困っています。

どなた様か、HTMLファイルも開いたらソースが表示されるとか、
DL画面になるなどの方法を教えていただけませんか?

「サーバー詳細」
わけありで、UPプログラムには、ファイル種類限定など出来ません。
DL区域はCGIも.htaccessも無効になっています。
バーチャルホストではありません。
普通にhttp://www.XXXX.XX/DL/
のような普通のサイトです。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

SetEnvIf Referer "^$" ok



<Directory "/path/to/directory">
Order Deny,Allow
Deny from all
Allow from env=ok
</Directory>

これで直リンク以外の全てのアクセスが拒否されると思います。

リンクが有効でないホームページなんて意味をなさないですし、これならIEでも効果があるので、かなりの成果が期待できると思います。
    • good
    • 0

> CGIはApacheのhttpd.confで該当区域は無効にしています


これを行っている場所で、

AddType text/plain .html
AddType text/plain .htm
AddType text/plain .HTM
AddType text/plain .HTML

みたいにしてみたらどうでしょうか?

ブラウザに渡す属性が text/plain になるので、テキスト表示になると思います。
Mozilla ではうまく行くことを確認しました。

が、IE だと無理なんですね...。
ファイルの中身を読み込んで勝手にHTML だと判断してしまうみたい。
大きなお世話です。
拡張子をtxt や、bin に変えても駄目ですね。

思い余って、 .doc とかにしたら、さすがにワードで開いてくれました。
が、これでは解決にはなりませんよね?

テキストファイルであることが判断できたら、lha か zip で圧縮してしまう、とか。
サーバの側から対応できそうなことといったら、このくらいしか思いつきません。
    • good
    • 0

直接的な回答ではないですが、私ならこうしますという回答を。



UPLOADはFTPで行っているのですよね。
それをやめて、Webからアップロードする仕組みを
作って、そのときに許可している形式以外のものを
エラーにするようにします。

こうすれば許可しているもの以外が置かれることは
ありません。

(ただし作るのは、ちと大変だと思います。)

この回答への補足

説明不足のようでした。FTPからではなく、WEBからです。
掲示板のファイルUP機能を改造して、作りました。
実は、形式によるエラーの出し方が勉強不足でわかりません。
そこで、
ファイルの種類をサーバー側で特定のフォルダー内だけ変えようと思ったのです。
よろしくお願いします。

補足日時:2002/01/10 21:21
    • good
    • 0

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


このカテゴリの人気Q&Aランキング

おすすめ情報