2014.
01.
23
23:59:40
結論から書くと「.htaccess」ファイルの中に、例えば
とか書けばOKです。
諸般の事情によりファイルへの直リンクを禁止する必要が出てきましてね。
対象がPDFファイルだったのですが、ちょちょいのちょいとできんのかね?というのが
今回調べたきっかけです。
ふむふむ(--)
「.htaccess」に
とか書いて放り込んでおけば、そのディレクトリ内のファイルは直リンク禁止になるのですね。
「.htaccess」の中身の説明は以下の通り。
の部分は「リファラに『http://i-3-i.info』があったら『aaa』って名前を付けるよ」です。
「http://~」の前にゴミみたいにくっついている「^」は「~~で始まる」の意味ね。
「\」がついているのは「.」をエスケープするためです。
同じように
の部分は「リファラが空だったら『aaa』って名前を付けるよ」ね。
「^」は「~~で始まる」の意味で、「$」は「~~で終わる」の意味です。
何も無しで始まって何も無しで終わるから、つまりは空っぽ。
の部分は「まず拒否ってから許可で上書きね」の指示です。
の部分は「みんな拒否!何人たりともアクセスすることを許さん!」の指示です。
の部分は「『aaa』って名前の奴はアクセスしていーよ」です。
「aaa」って名前が付いているのは
・リファラに「http://i-3-i.info」がある
・リファラが空
のどちらかなので、これで変なところ(http://i-3-i.info以外)からの直リンクは
抑制できるってな理屈です。
まぁURL直打ちだったり、セキュリティソフトでリファラを空にすると
あっさり抜けちゃうんですけどね(-。-)ぼそっ
「え~、URLの直打ちとかも抑制したいんだけど」という方は
PHP、ファイルの直リンクやURL直接入力での参照を禁止する(リファラを見ないやり方)
をご覧ください。
気休めだったらリファラを見るやり方で十分だと思いますが、
もちっと気合入れるならセッションとかも使った方が良いと思います。
と言うことで
PHP、ファイルの直リンクやURL直接入力での参照を禁止する(リファラを見ないやり方)
の記事も気が向いたら見てやってくださいませ(人´∀`)(宣伝)
取りあえず、完了\(--)/
SetEnvIf Referer "^http://i-3-i\.info" aaa
SetEnvIf Referer "^$" aaa
order deny,allow
deny from all
allow from env=aaa
SetEnvIf Referer "^$" aaa
order deny,allow
deny from all
allow from env=aaa
とか書けばOKです。
諸般の事情によりファイルへの直リンクを禁止する必要が出てきましてね。
対象がPDFファイルだったのですが、ちょちょいのちょいとできんのかね?というのが
今回調べたきっかけです。
ふむふむ(--)
「.htaccess」に
SetEnvIf Referer "^http://i-3-i\.info" aaa
SetEnvIf Referer "^$" aaa
order deny,allow
deny from all
allow from env=aaa
SetEnvIf Referer "^$" aaa
order deny,allow
deny from all
allow from env=aaa
とか書いて放り込んでおけば、そのディレクトリ内のファイルは直リンク禁止になるのですね。
「.htaccess」の中身の説明は以下の通り。
SetEnvIf Referer "^http://i-3-i\.info" aaa
の部分は「リファラに『http://i-3-i.info』があったら『aaa』って名前を付けるよ」です。
「http://~」の前にゴミみたいにくっついている「^」は「~~で始まる」の意味ね。
「\」がついているのは「.」をエスケープするためです。
同じように
SetEnvIf Referer "^$" aaa
の部分は「リファラが空だったら『aaa』って名前を付けるよ」ね。
「^」は「~~で始まる」の意味で、「$」は「~~で終わる」の意味です。
何も無しで始まって何も無しで終わるから、つまりは空っぽ。
order deny,allow
の部分は「まず拒否ってから許可で上書きね」の指示です。
deny from all
の部分は「みんな拒否!何人たりともアクセスすることを許さん!」の指示です。
allow from env=aaa
の部分は「『aaa』って名前の奴はアクセスしていーよ」です。
「aaa」って名前が付いているのは
・リファラに「http://i-3-i.info」がある
・リファラが空
のどちらかなので、これで変なところ(http://i-3-i.info以外)からの直リンクは
抑制できるってな理屈です。
まぁURL直打ちだったり、セキュリティソフトでリファラを空にすると
あっさり抜けちゃうんですけどね(-。-)ぼそっ
「え~、URLの直打ちとかも抑制したいんだけど」という方は
PHP、ファイルの直リンクやURL直接入力での参照を禁止する(リファラを見ないやり方)
をご覧ください。
気休めだったらリファラを見るやり方で十分だと思いますが、
もちっと気合入れるならセッションとかも使った方が良いと思います。
と言うことで
PHP、ファイルの直リンクやURL直接入力での参照を禁止する(リファラを見ないやり方)
の記事も気が向いたら見てやってくださいませ(人´∀`)(宣伝)
取りあえず、完了\(--)/