Navigation

 Home Page
 twitter Twitter Feed
 ko-fi Support me on Kofi
 Series Index: A to Z|By Country|By Platform
 News Feed & Site Updates: 2019 Nov|Dec
2020 Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
2021 Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
2022 Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
2023 Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
2024 Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec
2025 Jan


BL Calendar (click image to open in new tab)
January 2025
Archive 2020|2021|2022|2023|2024|2025

Jump To
CurrentUpcomingCompleted
ShortsCancelledNot Made


 Currently Airing  (A-Z order)

Click here to expand or collapse...
Thailand Every You, Every Me (Youtube release)

 Upcoming BL Series  (Start date)

Click here to expand or collapse...
Thailand Top Form (Thu 20 Mar 2025)

 Completed Series 

Click here to expand or collapse...
Philippines Art Of Love (OFFLINE)
Philippines Beautiful Scars (Episode 4 finale OFFLINE)
Thailand Boyband (No International release)
Myanmar Healing Thingyan (OFFLINE)
Hong Kong Hehe & He (Season 3 - on hiatus)
Thailand If I Love A Boy (OFFLINE)
Philippines Indigo (OFFLINE)
Philippines Jack And Jill (OFFLINE)
Philippines Lakan (OFFLINE)
Thailand Make A Wish [Thailand] (No International release)
Thailand Missing Piece (OFFLINE)
Myanmar My
Thailand My Secret Love (OFFLINE)
Philippines Quaranthings (OFFLINE)
Thailand Roommate (Season 1 OFFLINE)
Japan Sugar Dog Life (No International release)
Thailand Venus In The Sky (Youtube release)

 One-Off BL shorts 

Click here to expand or collapse...

 Cancelled BLs (Uncompleted) 

Click here to expand or collapse...
Philippines Destined/Fated (OFFLINE)
Philippines Infinity (OFFLINE)
Philippines Kiss The Night (OFFLINE)
Philippines Overlooked Love (OFFLINE)
Thailand The Whisperer (EP10 Finale never released)
Philippines Unexpected (OFFLINE)

 Abandoned - Not Made 

Click here to expand or collapse...

Cambodia= Cambodia China= China Hong Kong= Hong Kong India= India
Japan= Japan Laos= Laos Myanmar= Myanmar The Philippines= Philippines
South Korea= South Korea Taiwan= Taiwan Thailand= Thailand Vietnam= Vietnam


edit SideBar

Security


Aspects of PmWiki security are found on the following pages:

Pages distributed in a PmWiki release:

  • Page history History of previous edits to a page
  • Passwords General use of passwords and login
  • Passwords Admin More password options for the administrator
  • AuthUser Authorization system that uses usernames and passwords
  • Url Approvals Require approval of Url links
  • Site Analyzer Analyse PmWiki security and software versions
  • Blocklist Blocking IP addresses, phrases, and expressions to counteract spam and vandalism.
  • Notify How to receive email messages whenever pages are changed on the whole wiki site, individual groups or selected watchlists of pages
  • Security variables variables crucial for site security

Cookbook pages

How do I report a possible security vulnerability of PmWiki?

Pm wrote about this in a post to pmwiki-users from September 2006. In a nutshell he differentiates two cases:

  1. The possible vulnerability isn't already known publicly: In this case please contact us by private mail.
  2. The possible vulnerability is already known publicly: In this case feel free to discuss the vulnerability in public (e.g. on pmwiki-users or in the PITS).

See his post mentioned above for details and rationals.

What about the botnet security advisory at https://isc.sans.edu/diary/Reports+of+Bots+exploiting+pmwiki+and+tikiwiki/1672?

Sites that are running with PHP's register_globals setting set to "On" and versions of PmWiki prior to 2.1.21 may be vulnerable to a botnet exploit that is taking advantage of a bug in PHP. The vulnerability can be closed by turning register_globals off, upgrading to PmWiki 2.1.21 or later, or upgrading to PHP versions 4.4.3 or 5.1.4.
In addition, there is a test at PmWiki:SiteAnalyzer that can be used to determine if your site is vulnerable.

Wiki Vandalism and Spam

Assumptions
you are using a Blocklist and Url approvals.
You don't want to resort to password protecting the entire wiki, that's not the point after all.
Ideally these protections will be invoked in config.php

How do I stop pages being deleted, eg password protect a page from deletion?

Use Cookbook:DeleteAction and password protect the page deletion action by adding $DefaultPasswords['delete'] = '*'; to config.php or password protect the action with $HandleAuth['delete'] = 'edit';

or $HandleAuth['delete'] = 'admin'; to require the edit or admin password respectively.

How do I stop pages being replaced with an empty (all spaces) page?

Add block: /^\s*$/ to your blocklist.

how do I stop pages being completely replaced by an inane comment such as excellent site, great information, where the content cannot be blocked?

Try using the newer automatic blocklists that pull information and IP addresses about known wiki defacers.

(OR) Try using Cookbook:Captchas or Cookbook:Captcha (note these are different).

(OR) Set an edit password, but make it publicly available on the Site.AuthForm template.

How do I password protect the creation of new groups?

See Cookbook:Limit Wiki Groups

How do I password protect the creation of new pages?

See Cookbook:Limit new pages in Wiki Groups

How do I take a whitelist approach where users from known or trusted IP addresses can edit, and others require a password?

Put these lines to local/config.php:

## Allow passwordless editing from own turf, pass for others.
if ($action=='edit'
 && !preg_match("/^90\\.68\\./", $_SERVER['REMOTE_ADDR']) )    
 { $DefaultPasswords['edit'] = pmcrypt('foobar'); }

Replace 90.68. with the preferred network prefix and foobar with the default password for others.

For a single IP, you may use

if($_SERVER['REMOTE_ADDR'] == '127.0.0.1') { # your IP address here
 $_POST['authpw'] = 'xxx';                  # the admin password
}

Please note the security issues: this means that you have your admin passwords in clear in config.php and someone with access to the filesystem can read them (for example a technician of your hosting provider); your IP address may change from time to time (unless you have a fixed IP contract with your ISP). When that happens, someone with your old IP address will be logged in automatically as admin on your wiki. It is extremely unlikely to become a problem, but you should know it is possible; if you are behind a router, all other devices which pass through that router will have the same IP address for PmWiki - your wifi phone, your wife's netbook, a neighbour using your wifi connection, etc. All these people become admins of your wiki. Again, you should evaluate if this is a security risk; In some cases, your ISP will route your traffic through the same proxy as other people. In such a case, thousands of people may have the same IP address.

See also Cookbook:AuthDNS & Cookbook:PersistentLogin

How do I password protect page actions?

See Passwords for setting in config.php

$HandleAuth['pageactionname'] = 'pageactionname'; # along with :
$DefaultPasswords['pageactionname'] = pmcrypt('secret phrase');

or

$HandleAuth['pageactionname'] = 'anotherpageactionname';

How do I moderate all postings?

Enable PmWiki.Drafts

  • Set $EnableDrafts, this relabels the "Save" button to "Publish" and a "Save draft" button appears.
  • Set $EnablePublishAttr, this adds a new "publish" authorization level to distinguish editing from publishing.

How do I make a read only wiki?

In config.php set an "edit" password.

How do I restrict access to uploaded attachments?

See

How do I hide the IP addresses in the "diff" pages?

If the user fills an author name, the IP address is not displayed. To require an author name, set in config.php such a line:

  $EnablePostAuthorRequired = 1;

The IP address can also be seen in a tooltip title when the mouse cursor is over the author name. To disable the tooltip, set in config.php:

$DiffStartFmt = 
  "<div class='diffbox'><div class='difftime'><a name='diff\$DiffGMT' href='#diff\$DiffGMT'>\$DiffTime</a>
   \$[by] <span class='diffauthor'>\$DiffAuthor</span> - \$DiffChangeSum</div>";

How do I stop some Apache installations executing a file which has ".php", ".pl" or ".cgi" anywhere in the filename

Use $UploadBlacklist

How do I stop random people from viewing the ?action=source (wiki markup) of my pages? I have (:if auth edit:) text that I don't want the world to see.

$HandleAuth['source'] = 'edit'; or $HandleAuth['source'] = 'admin';

How to I secure my cookies?

See $EnableCookieSecure and $EnableCookieHTTPOnly

How do I set a global password to resist spambots, and informed humans of the password?

See Cookbook:OpenPass-Talk


This page may have a more recent version on pmwiki.org: PmWiki:Security, and a talk page: PmWiki:Security-Talk.