Extension:SecureProperties

From MediaWiki.org

Jump to: navigation, search
If you need per-page or partial page access restrictions, you are advised to install an appropriate content management package. MediaWiki was not written to provide per-page access restrictions, and almost all hacks or patches promising to add them will likely have flaws somewhere, which could lead to exposure of confidential data. We are not responsible for anything being leaked, leading to loss of funds or one's job.
For further details, see Security issues with authorization extensions


Manual on MediaWiki Extensions
List of MediaWiki Extensions
SecureProperties

Release status: stable

Implementation Parser extension
Description
Author(s) Jean-Lou Dupont
Version 1.0.0
MediaWiki 1.10, 1.11
Download SVN
See SVN ($Id: SecureProperties.doc.wikitext 494 2007-10-10 17:09:08Z jeanlou.dupont $)

Contents

[edit] Purpose

Enables getting/setting global object properties securily (operations are only allowed on protected pages).

[edit] Usage

  • Property 'get': {{#pg:global object name|property}}
  • Property 'set': {{#ps:global object name|property|value}}
  • Method call: {{#pf:global object name|method name}}
  • Global variable 'get': {{#gg:global object name}}
  • Global variable 'set': {{#gs:global object name|value}}
  • Class static property 'get': {{#cg:class name|property}}
  • Class static property 'set': {{#cs:class name|property|value}}

(($disable$))

[edit] Notes

Of course, those functions can be called in the context of 'ParserPhase2':

  • Property 'get': (($#pg|global object name|property$))
  • Property 'set': (($#ps|global object name|property|value$))
  • Method call: (($#pf|global object name|method name$))
  • Global variable 'get': (($#gg:global object name$))
  • Global variable 'set': (($#gs:global object name|value$))
  • Class static property 'get': (($#cg:class name|property$))
  • Class static property 'set': (($#cs:class name|property|value$))

(($enable$))

[edit] Examples

Current user name: {{#pg:wgUser|mName}}

Current user id: {{#pg:wgUser|mId}}

[edit] Features

  • Security: the 'magic words' of the extension can only be used on protected pages
  • Namespace exemption: configured namespaces are exempted from the 'protection' requirement

[edit] Dependancy



[edit] Installation

See the Mediawiki Extension table entry "download" above.[1]

[edit] LocalSettings.php

Extension:ExtensionManager: See footnote[2]

require_once( "$IP/extensions/SecureProperties/SecureProperties.php" );

[edit] PEAR

PEAR is a repository of software code.

pear channel-discover mediawiki.googlecode.com/svn
  • Install extension through PEAR:
pear install mediawiki/SecureProperties
  • Add the following to LocalSettings.php[2][3]:
require 'MediaWiki/SecureProperties/SecureProperties.php';
  • Note that the required version of PEAR must be respected. Currently, the minimum version of PEAR usable with this channel is v1.6.2. Perform the following command to upgrade to the latest version of PEAR:
pear upgrade pear

[edit] Upgrades through PEAR

Sometimes, it is necessary to clear PEAR's cache in order to perform upgrades.

pear clear-cache

or use the force method:

pear upgrade --force mediawiki/SecureProperties

[edit] PEAR Web Frontend

For easier remote package management, PEAR Frontend WEB can be installed. Installation notes can be found here. An example of the WEB frontend is available here.

[edit] RSS feed

To keep kept up-to-date with this channel, use the following RSS feedImage:Rss2.jpg.

[edit] Notes

[edit] Sandbox

You are invited in the author's sandbox to try-out some of his extensions.

[edit] Other Extensions From the same author

Consult User Jldupont's page.


  1. The most recent release is always available through the extension's PEAR and SVN repositories. This page is not necessarily up-to-date.
  2. 2.0 2.1 2.2 Extension:ExtensionManager does not require any modification to LocalSettings.php because ExtensionManager includes the extension.
    Note that if PHP code caching is in place (e.g. APC, eAccelerator), then to successfully complete the installation a cache flush might be needed.
  3. Modifications to LocalSettings.php is only necessary if not using Extension:ExtensionManager

[edit] History

  • added '#gg' and '#gs' magic words
  • Removed dependency on ExtensionClass
  • Added '#cg' and '#cs' to deal with static properties in classes
  • Added 'addExemptNamespaces' function

[edit] Todo

  • Fix for 'exempt' namespaces option even considering StubManager
Personal tools
In other languages