Posts tagged ‘hack’

Jag har just uppdaterat/modifierat ett WordPress plugin som jag använder tillsammans med Akismet för att spärra/blockera kommentars spam; Akismet htaccess writer — som jag “justerat” att blockera C-nät (IPn i formen AAA.BBB.CCC.DDD, där blockerings mönstret blir AAA.BBB.CCC/24 — 24-bitars adresser) i stället för specifika och enskilda IPn. Den påverkar filen .htaccess som läses av Apache (webserver) som i sin tur avgör om besökarens IP skall tillåtas eller blockeras.

Jag tror det är mycket mer effektivt, då många kommentars-spam kommer från samma C-nät och förmodligen är Zombie-maskiner. Samtidigt är det även risk för att spärra ut riktiga besökare som kommer från samma nät — dock känns det som en blog skriven på svenska som besöks mest av svenskar, att jag kan ta den risken, för det handlar mest om IP-adresser från asien och sydamerika som blockeras.

Samtidigt passade jag på att justera urvalsfrågan att returnera endast unika IP-adresser och samtidigt sortera dem i decimal-form.

Jag skickade den uppdaterade/tweakade källkoden tillbaka till upphovsmannen- eller kvinnan för att förhoppningsvis få med förändringarna i nästa version.

Update 2009-07-15: Det verkar fungera, strömmen av spam-kommentarer har avtagit markant, från 42 till 46 (i spam-kommentarskön), 4 på ett 3 dagar mot normalt 3-4 varje dag. Kanske lite tidigt att jubla eller fira på något sätt men det gör lite skillnad.

Jag var inte riktigt nöjd med hur WordPress fungerade efter jag hade uppdaterat/uppgraderat till WordPress 2.6, så jag kollade hur högt rankade bloggar länkar taggar. Därefter satte jag mig och slängde ihop lite kod för att åstadkomma länkning av taggar. Nedan delar jag med mig av koden, för den som är lite händig med PHP kan själv göra ändringar. Jag lämnar ingen som helst support på koden, you’re on your own lixom. Kommentera gärna om du använder koden, du får länk tillbaka genom CommentLuv! :)

I WordPress admin, gå till Design, vidare till Theme Editor och välj sedan Main Index Template (index.php) och klistra byt ut kodsnutten ..

<?php get_tags(); ?>

… mot …
<?php if(kakhack()) { ?>
<p style="border: 1px solid #ddd;background-color: #eee;padding: 3px;">
<span class="taglinks"><?php echo(makeTagLinks('bloggar.se: ','http://bloggar.se/om/')); ?></span><br />
<span class="taglinks"><?php echo(makeTagLinks('knuff.se: ','http://knuff.se/q/')); ?></span><br />
<span class="taglinks"><?php echo(makeTagLinks('bloggtips.se: ','http://bloggtips.se/kategori/')); ?></span>
<?php } ?>

… sedan sparar du och väljer Theme Functions (functions.php) och klistrar in koden nedan högst upp i koden.

function kakhack() {
  $posttags = get_the_tags();
  if ($posttags) {
    return true;
  } else {
    return false;
  }
}

function makeTagLinks($link_prefix_text,$link_uri_base) {
  $result = "";
  $posttags = get_the_tags();
  if ($posttags) {
    $result = $link_prefix_text;
    foreach($posttags as $tag) {
      $result .= '<a href="' . $link_uri_base;
      $result .= rawurlencode(strtolower($tag->name));
      $result .= '" ';
      $result .= 'title="' . htmlentities($tag->name) . '" ';
      $result .= 'rel="tag"';
      $result .= '>';
      $result .= htmlentities($tag->name);
      $result .= '</a>, ';
    }
    $result = preg_replace('/\x2c\x20$/','',$result);
  }
  return $result;
}

Koden är ganska enkel och behöver inte förklaras i detalj, jag har med flit låtit bli att kommentera koden. Förstår du inte vad den gör, låt bli att använda den.