** downfile.inc.php [#y44fbcf7]
|RIGHT:100|LEFT:360|c
|~サマリ|任意のファイルのダウンロードを行うプラグイン|
|~リビジョン|0.1|
|~対応バージョン|1.4.7|
|~投稿者|[[Makichan]]|
|~投稿日|&new{2007-10-26 (金) 01:13:43};|
Wiki管轄外の任意のファイルを任意の名前でダウンロード可能にするプラグイン。~
[[質問箱4/172]][[欲しいプラグイン/317]]を受けて作成。~
[[質問箱4/172]]、[[欲しいプラグイン/317]]を受けて作成。~
&color(red){''現在プロトタイプです''};~
動作検証用ですので、実運用には使わないでください。セキュリティホールがあちこちにあります。

**ダウンロード [#w5b8169a]
[[こちら>http://www.makichan.jp/home/?%3Aattach]]

**使い方 [#iac81b5f]
インラインプラグインとしてリンクを設置した居場所に記述します。
インラインプラグインとしてリンクを設置したい場所に記述します。
 &downfile(filename[,downname[,title]]);

:filename|サーバ上でのファイル名
:downname|ダウンロード時のContent-Dispositionに設定する名前~
一般的にはこれがクライアントに保存するファイル名になります~
省略時は''filename''と同一になります
:title|リンクの文字列~
省略時は''downname''と同一になります(''downname''省略時は''filename'')

これらは、
 <a href="ダウンロードのためのURL">title</a>
と展開され、''title''部分をクリックすると''downname''という名前でダウンロードを開始します。
使用例:
 &downfile(nihingo.zip,日本語.zip,ここをクリック);
と記述すると、
 <a href="ダウンロードのためのURL">ここをクリック</a>
と展開され、クリックすると''日本語.zip''という名前でダウンロードを開始します。

**設定項目 [#z5768c57]
downfile.inc.phpの6行目
 define('PLUGIN_DOWNFILE_DIR', 'download/');
を適宜変更することでダウンロードファイルを設置する場所を変更できます。~
デフォルトでは '''PukiWiki設置ディレクトリ/'''download/ となっています。~
このままの設定で利用するのなら、PukiWiki設置ディレクトリにdownloadというディレクトリを作成してください。~
また、ブラウザからこのディレクトリへの直接参照を禁止するために、適切な内容の .htaccess を設置した方がいいかもしれません。~
WEBとは関係ないディレクトリを絶対パス指定で設定する方がセキュリティ的には安全です。

**現状の問題点 [#m177d09c]
-ファイル名に、たとえば ../../../../../../../foo/bar と設定することで、OSの任意のディレクトリの任意のファイルにアクセスできてしまう
-エラーチェックがほぼ皆無

----

#comment


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.070 sec.

OSDN