move attachment pagespec extensions docs to its own page
in the basewiki, so I can link to it theremaster
parent
c150590e27
commit
2888b03556
|
@ -0,0 +1,52 @@
|
||||||
|
[[!meta robots="noindex, follow"]]
|
||||||
|
[[!if test="enabled(attachment)"
|
||||||
|
then="This wiki has attachments **enabled**."
|
||||||
|
else="This wiki has attachments **disabled**."]]
|
||||||
|
|
||||||
|
If attachments are enabled, the wiki admin can control what types of
|
||||||
|
attachments will be accepted, by entering a [[ikiwiki/PageSpec]] in the
|
||||||
|
"Allowed Attachments" field of their preferences page.
|
||||||
|
|
||||||
|
For example, to limit arbitrary files to 50 kilobytes, but allow
|
||||||
|
larger mp3 files to be uploaded by joey, a something like this could be
|
||||||
|
used:
|
||||||
|
|
||||||
|
(user(joey) and *.mp3 and mimetype(audio/mpeg) and maxsize(15mb)) or (!ispage() and maxsize(50kb))
|
||||||
|
|
||||||
|
The regular [[ikiwiki/PageSpec]] syntax is expanded with thw following
|
||||||
|
additional tests:
|
||||||
|
|
||||||
|
* maxsize(size)
|
||||||
|
|
||||||
|
Tests whether the attachment is no larger than the specified size.
|
||||||
|
The size defaults to being in bytes, but "kb", "mb", "gb" etc can be
|
||||||
|
used to specify the units.
|
||||||
|
|
||||||
|
* minsize(size)
|
||||||
|
|
||||||
|
Tests whether the attachment is no smaller than the specified size.
|
||||||
|
|
||||||
|
* ispage()
|
||||||
|
|
||||||
|
Tests whether the attachment will be treated by ikiwiki as a wiki page.
|
||||||
|
(Ie, if it has an extension of ".mdwn", or of any other enabled page
|
||||||
|
format).
|
||||||
|
|
||||||
|
So, if you don't want to allow wiki pages to be uploaded as attachments,
|
||||||
|
use `!ispage()` ; if you only want to allow wiki pages to be uploaded
|
||||||
|
as attachments, use `ispage()`.
|
||||||
|
|
||||||
|
* user(username)
|
||||||
|
|
||||||
|
Tests whether the attachment is being uploaded by a user with the
|
||||||
|
specified username. If openid is enabled, an openid can also be put here.
|
||||||
|
|
||||||
|
* ip(address)
|
||||||
|
|
||||||
|
Tests whether the attacment is being uploaded from the specified IP
|
||||||
|
address.
|
||||||
|
|
||||||
|
* mimetype(foo/bar)
|
||||||
|
|
||||||
|
This checks the MIME type of the attachment. You can include a glob
|
||||||
|
in the type, for example `mimetype(image/*)`.
|
|
@ -20,51 +20,9 @@ Bear in mind that if you let anyone upload a particular kind of file
|
||||||
contains html as a web page; including running any malicious javascript
|
contains html as a web page; including running any malicious javascript
|
||||||
embedded in that page.
|
embedded in that page.
|
||||||
|
|
||||||
To provide a way to combat these abuses, the wiki admin can specify a
|
If you enable this plugin, be sure to lock that down, by entering a
|
||||||
[[ikiwiki/PageSpec]] on their preferences page, to control what types of
|
[[special_PageSpec|ikiwiki/pagespec/attachment]] in the "Allowed
|
||||||
attachments can be uploaded, and by whom. The regular [[ikiwiki/PageSpec]]
|
Attachments" field of the wiki admin's preferences page.
|
||||||
syntax is expanded with additional tests.
|
|
||||||
|
|
||||||
For example, to limit arbitrary files to 50 kilobytes, but allow
|
This plugin will use the [[cpan File::MimeInfo::Magic]] perl module, if
|
||||||
larger mp3 files to be uploaded by joey, a test like this could be
|
available, for mimetype checking.
|
||||||
used:
|
|
||||||
|
|
||||||
(user(joey) and *.mp3 and mimetype(audio/mpeg) and maxsize(15mb)) or (!ispage() and maxsize(50kb))
|
|
||||||
|
|
||||||
The following additional tests are available:
|
|
||||||
|
|
||||||
* maxsize(size)
|
|
||||||
|
|
||||||
Tests whether the attachment is no larger than the specified size.
|
|
||||||
The size defaults to being in bytes, but "kb", "mb", "gb" etc can be
|
|
||||||
used to specify the units.
|
|
||||||
|
|
||||||
* minsize(size)
|
|
||||||
|
|
||||||
Tests whether the attachment is no smaller than the specified size.
|
|
||||||
|
|
||||||
* ispage()
|
|
||||||
|
|
||||||
Tests whether the attachment will be treated by ikiwiki as a wiki page.
|
|
||||||
(Ie, if it has an extension of ".mdwn", or of any other enabled page
|
|
||||||
format).
|
|
||||||
|
|
||||||
So, if you don't want to allow wiki pages to be uploaded as attachments,
|
|
||||||
use `!ispage()` ; if you only want to allow wiki pages to be uploaded
|
|
||||||
as attachments, use `ispage()`.
|
|
||||||
|
|
||||||
* user(username)
|
|
||||||
|
|
||||||
Tests whether the attachment is being uploaded by a user with the
|
|
||||||
specified username. If openid is enabled, an openid can also be put here.
|
|
||||||
|
|
||||||
* ip(address)
|
|
||||||
|
|
||||||
Tests whether the attacment is being uploaded from the specified IP
|
|
||||||
address.
|
|
||||||
|
|
||||||
* mimetype(foo/bar)
|
|
||||||
|
|
||||||
If the [[cpan File::MimeInfo::Magic]] perl module is installed, this
|
|
||||||
allows checking the mime type of the attachment. You can include a glob
|
|
||||||
in the type, for example `mimetype(image/*)`.
|
|
||||||
|
|
Loading…
Reference in New Issue