BlueberryStream Technical

@blueberrystreamが技術的なことを書くときに使うblogです。

公開したくないディレクトリをサーバーに置く方法 ※追記あり

公開したくないディレクトリの名前の頭に # をつける。

apacheで言うところのhtdocs以下に配置しつつも、httpで見られたくないディレクトリを置く方法が思いついたというか試したらできたというか。

たぶんどんなhttpdでもブラウザでも大丈夫じゃないかなって思うのだけど。URLに#がついてるとアンカーだとブラウザもhttpdも解釈するんじゃないかなーって思うんですが、どうでしょう。

試した環境がphp5.4のbuilt-in server on Windowsというアレな環境なのでもしかしたら他環境だとダメかも。

 

(23:21追記)

httpdの種類とバージョン、アクセスに使ったブラウザの種類とバージョンをコメントでお寄せいただければ、後日まとめたものを別エントリーとして掲載したいと思います。

 

(23:44さらに追記)

ちょっと気になったので、webスペースなどをお借りしているusamimi.infoにて実験お試しtelnetしてみました。

以下の4つのURLが示すリソースへtelnetでhttpをしゃべってアクセスしてみました。

http://kid0725.usamimi.info/hashedurl/

$ telnet kid0725.usamimi.info 80
GET /hashedurl/ HTTP/1.0
Host: kid0725.usamimi.info

HTTP/1.1 200 OK
Date: Wed, 24 Oct 2012 14:49:04 GMT
Server: Apache
Last-Modified: Wed, 24 Oct 2012 14:37:05 GMT
ETag: "1d-4cccf053ca640"
Accept-Ranges: bytes
Content-Length: 29
Vary: Accept-Encoding
Connection: close
Content-Type: text/html

this is /hashedurl/index.html

ホストとの接続が切断されました。

http://kid0725.usamimi.info/hashedurl/#hoge

$ telnet kid0725.usamimi.info 80
GET /hashedurl/#hoge HTTP/1.0
Host: kid0725.usamimi.info

HTTP/1.1 200 OK
Server: Apache
Last-Modified: Wed, 24 Oct 2012 14:37:05 GMT
ETag: "1d-4cccf053ca640"
Vary: Accept-Encoding
Content-Type: text/html
Date: Wed, 24 Oct 2012 14:53:01 GMT
X-Varnish: 109829154
Age: 0
Via: 1.1 varnish
Connection: close

this is /hashedurl/index.html

ホストとの接続が切断されました。

http://kid0725.usamimi.info/hashedurl/#hoge/

$ telnet kid0725.usamimi.info 80
GET /hashedurl/#hoge/ HTTP/1.0
Host: kid0725.usamimi.info

HTTP/1.1 200 OK
Date: Wed, 24 Oct 2012 14:53:50 GMT
Server: Apache
Last-Modified: Wed, 24 Oct 2012 14:37:05 GMT
ETag: "1d-4cccf053ca640"
Accept-Ranges: bytes
Content-Length: 29
Vary: Accept-Encoding
Connection: close
Content-Type: text/html

this is /hashedurl/index.html

ホストとの接続が切断されました。

http://kid0725.usamimi.info/hashedurl/#hoge/index.html

$ telnet kid0725.usamimi.info 80
GET /hashedurl/#hoge/index.html HTTP/1.0
Host: kid0725.usamimi.info

HTTP/1.1 200 OK
Server: Apache
Last-Modified: Wed, 24 Oct 2012 14:37:05 GMT
ETag: "1d-4cccf053ca640"
Vary: Accept-Encoding
Content-Type: text/html
Date: Wed, 24 Oct 2012 13:48:18 GMT
X-Varnish: 1019093268
Age: 0
Via: 1.1 varnish
Connection: close

this is /hashedurl/index.html

ホストとの接続が切断されました。

ということでいずれの場合も /hashedurl/index.html の内容が返されました。 /hashedurl/#hoge/index.html には this is /hashedurl/#hoge/index.html とだけ書いてちゃんとサーバー上に置いてあります。もし this is /hashedurl/#hoge/index.html と表示できるような方法があれば、今回の方法は不完全ということになります。