電子書籍の厳選無料作品が豊富!

ロボットが回遊してきてcgiを実行され、被害が出るので、
.htaccessでアクセス制限を掛けたく調べています。

.htaccessファイルは以下のとおり作れました。

***ここから
order allow,deny
allow from all
deny from xxx.xxx.xxx.xxx
***ここまで


ただ、このファイルを置く場所が分かりません。

プロバイダーの指定では、
/use/local/www/htdocs/user-id/public_html/目的のディレクトリ
と在ります。

これは、.htaccessファイルをここに置け、ということかと思いますが、
ここはどのように指定するのでしょうか。

使っているのは、フリーウェアのffftpです。
ffftpを実行したとき、
サーバー側に表示されているアドレスは / となっています。
そしてそこに、cgi-binフォルダやindex.htmlが表示されています。

.htaccessの説明を読んだ限りでは、
制限を掛けたいフォルダ(ディレクトリ)に置け、となっていました。
であれば、このルート部分に置きたいのですが。

関連でもう一つ、やらなければならないことはこれだけで宜しいのでしょうか。
例えばcgiファイルなどで何か定義し直す必要とか。

宜しくお願いします。

A 回答 (2件)

> プロバイダーの指定では、


> /use/local/www/htdocs/user-id/public_html/目的のディレクトリ
> と在ります。

> .htaccessの説明を読んだ限りでは、
> 制限を掛けたいフォルダ(ディレクトリ)に置け、となっていました。
> であれば、このルート部分に置きたいのですが。

.htaccessの設定はサブディレクトリまで有効になるのでどちらでも構いません。
ただ、制限する場所を限定したいのであれば後者ということになります。

余談ですが、ロボット撃退にはもっとすっきりした方法としてrobots.txtがありますが、
既に検討されましたか?

http://www.tohoho-web.com/wwwxx079.htm
    • good
    • 0
この回答へのお礼

早速ありがとうございました。
置き場所は私が借りているルートで構わないということデスね、
了解です。
なお、robots.rxrは見ていないということです。
それで今回質問しました。

解決したのですが、
折角なので教えて下さい。
プロバイダ指定の場所に置くというのは、
私のルートに置くより上になるのでしょうか。
位置が良く見えません。

宜しくお願いします。

お礼日時:2011/01/21 13:05

ftpでのルートと、HTTPでのルートを混同してませんか?


HTTPが提供するのは、あくまで
/use/local/www/htdocs/[user-id]/public_html/以下ですから、HTTODのルートはここですよ。
 Windowsでも、コンピューター上の場所はC:\DOCUMENT AND SETTIGS\[USER-NAME]\My Documentであっても、エクスプローラのルートに\マイドキュメントが見えるでしょ!!
 UNIX系では、マウントやエイリアスは多く使われます。
/use/local/www/htdocs/user-id/public_html/ が、ドキュメントルート(http://hoge.com/)だったり、/use/local/cgi/user-id/がcgiだったり(http://hoge.com/cgi-binだったり・・

きちんと理解しておきましょう。
・・ローカルにApacheをサーバーを作っておくとよくわかるかも・・
 検索エンジンは、基本的にrobot.txtを最初に参照しますからそこに指示を書いておけばよい。膨大なクローラーについていちいち指定はできません。
 また、なによりも、ロボットが読みに来たから動作が混乱するようなCGIは書いてはなりません。これが一番肝心なところですよ。
    • good
    • 0
この回答へのお礼

いろいろと有り難うございます。

>ftpでのルートと、HTTPでのルートを混同してませんか?
 混同ではなく、分かっていないのです。
 勉強します。
 ヒントを貰えると結構それについては理解できていくのですが、
 基本的なことが分かって居ないのだと思います。

>ロボットが読みに来たから動作が混乱するようなCGIは書いてはなりません。
 余計なお世話です。

お礼日時:2011/01/21 21:05

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