Note, that this recipe is not updated long time and could be outdated!
Got it.

XWiki anonīmie komentāri

XWiki iespējams komentēt anonīmi, lietotājiem pieprasot CAPTCHA, kuru cilvēkiem dažkārt ir atrisināt grūtāk, nekā programmām.
Te ir aprakstīts, kā atvairīt mēslotājus, pieņemot, ka vairums no tiem neizpilda JavaScript.

Saturs

  1. commentsinline.vm aizstāšana ar pielāgotu apdari
  2. Javasript iekļaušana ar apdares paplašinājumu
  3. Apache papildu likumi
  4. XWiki iestatījumu maiņa
  5. Saites

commentsinline.vm aizstāšana ar pielāgotu apdari

  1. Atver XWikiSkins klasi klašu redaktorā
  2. Pievieno commentsinline.vm TextArea lauku klasei un saglabā to
  3. Izveido jaunu lapu ar apdares (Skin) objektu, piemēram, vietā Custom.OdoTheme
  4. Atver apdares objektu objektu rediģēšanas režīmā un laukā commentsinline.vm ievieto faila .../xwiki/templates/commentsinline.vm saturu ar izmainītām rindām:

    ...
        ##!!!<form action="$doc.getURL('commentadd', "xpage=view&amp;viewer=comments#commentform")"     <form name="frm" action="/Submit" method="post" id="AddComment">
        <fieldset class="expanded" id="commentform">
          <noscript>
          <div class="warningmessage"><span class="messagetype">$services.localization.render('warning'): </span>$msg.get("custom.javascriptneeded")</div>
          </noscript>
            <legend>$services.localization.render('core.viewers.comments.add.title')</legend>
            ##!!<div class="commentavatar">#mediumUserAvatar($context.user)</div>
    ...
            <input type="hidden" name="${xCommentClass}_replyto" value="$!replyTo"/>
    <input type="hidden" name="spacedoc" value="$doc.space/$doc.name"/>
            <div class="commentcontainer">
    ...
             ##!!!<span class="buttonwrapper"><input type="submit" value="$services.localization.render('core.viewers.comments.add.submit')" class="button"/></span>
              <span class="buttonwrapper"><input name="sub" type="button" value="$msg.get('core.viewers.comments.add.submit')" class="button" onClick="submitComment()"/></span>
    ...

    Pilns skripta paraugs šeit

  5. XWiki iestatījumos norāda, piemēram, Apdare: Custom.OdoTheme

Papildu informācija: XWiki Skins

Javasript iekļaušana ar apdares paplašinājumu

  1. Atver lapu ar iekļautu apdares objektu, piemēram, OdoTheme.
  2. Atver šo lapu objektu rediģēšanas režīmā un pievieno XWiki.JavaScriptExtension objektu
    1. tā koda laukā ievieto kodu:

      // Adding comments using JavaScript
      // Adjust action value to RewriteRule in /etc/apache2/sites-available/default (.../ssl) file
      function submitComment() {
        var spacedoc = document.frm.spacedoc.value;
        spacedoc = '/xwiki/bin/commentaddXXX/'+spacedoc+'?xpage=view&viewer=comments#commentform';
        document.frm.action = spacedoc;
        document.frm.submit();
      }

      kur XXX ir kāds unikāls kods

    2. Izmantot šo paplašinājumu: Always
    3. Parsēt saturu:
    4. Kešošanas politika: forbid

Papildu informācija: Skin Extension Tutorial

Apache papildu likumi

Apache pārsūtīšanas likumus vajag tikai tāpēc, ka šajā vietnē oriģinālie URLi ir zināmi mēslotājiem.

  1. Papildina failus /etc/apache2/sites-available/default un /etc/apache2/sites-available/ssl:

    ...
    ## XWiki comments
    # Redirect new location set in ../webapps/xwiki/recources/js/xwiki/xwiki.js to the original place
    RewriteRule ^/xwiki/bin/commentaddXXX/(.*)$ http://localhost:8080/xwiki/bin/commentadd/$1 [P,L]
    # Redirect original location to the honeypot
    RewriteRule ^/xwiki/bin/commentadd/(.*)$ /Submit [L]
    ...

    kur XXX ir XWiki.JavaScriptExtension norādītais unikālais kods

    Ja to izmanto, tad šim kodam ir jābūt pirms XWiki vietrāžu īsināšanas!

  2. Pārlādē Apache iestatījumus:

    /etc/init.d/apache2 reload

XWiki iestatījumu maiņa

  1. Nomaina XWiki iestatījums. Izvēlas Viki— Viki pārvaldība— Tiesības, iezīmē Nereģistrēti lietotāji Komentāri.

Saites


  
Tags XWiki Pārvaldība Tīmeklis Drošība
Created by Valdis Vītoliņš on 2013-11-09 13:21
Last modified by Valdis Vītoliņš on 2021-04-13 14:30
 
Xwiki Powered
Creative Commons Attribution 3.0 Unported License