Ejemplo n.º 1
0
 /**
  * @depends testRetrieveDomainlist
  */
 public function testBlocked()
 {
     $this->mockReferer(null);
     $this->assertFalse(\Nabble\Semalt::blocked(), 'Should not block unset referral');
     $this->mockReferer('');
     $this->assertFalse(\Nabble\Semalt::blocked(), 'Should not block empty referral');
     $this->mockReferer('NotAnUrl');
     $this->assertFalse(\Nabble\Semalt::blocked(), 'Should not block invalid referral');
     $badReferrals = $this->getBadReferrals();
     if (empty($badReferrals)) {
         $this->markTestIncomplete('Could not fetch bad referrals for testing');
     }
     foreach ($badReferrals as $badReferral) {
         if ($badReferral && substr($badReferral, 0, 1) !== '#') {
             $this->mockReferer($badReferral);
             $this->assertTrue(\Nabble\Semalt::blocked(), 'Should block bad referral ' . $badReferral);
         }
     }
     foreach ($this->goodReferrals as $goodReferral) {
         $this->mockReferer($goodReferral);
         $this->assertFalse(\Nabble\Semalt::blocked(), 'Should not block good referral ' . $goodReferral);
     }
 }
Ejemplo n.º 2
0
<?php

require '../vendor/autoload.php';
if (\Nabble\Semalt::blocked()) {
    $protocol = isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0';
    header($protocol . ' 403 Forbidden');
}
?>
<html>
    <head>
        <title>semalt blocker test target</title>
    </head>
    <body>
        <?php 
echo \Nabble\Semalt::blocked(true);
?>

    </body>
</html>
Ejemplo n.º 3
0
$time_pre = microtime(true);
$i = $c;
while ($i--) {
    \Nabble\Semalt::blocked();
}
echo number_format((microtime(true) - $time_pre) / $c * 1000, 8) . "ms\n";
echo "Testing invalid referer : ";
mockReferer('NotAnUrl');
$time_pre = microtime(true);
$i = $c;
while ($i--) {
    \Nabble\Semalt::blocked();
}
echo number_format((microtime(true) - $time_pre) / $c * 1000, 8) . "ms\n";
echo "Testing good referer    : ";
mockReferer('http://www.google.com/?q=query');
$time_pre = microtime(true);
$i = $c;
while ($i--) {
    \Nabble\Semalt::blocked();
}
echo number_format((microtime(true) - $time_pre) / $c * 1000, 8) . "ms\n";
echo "Testing bad referer     : ";
$domainlist = \Nabble\Semalt::getBlocklist();
mockReferer($domainlist[array_rand($domainlist)]);
$time_pre = microtime(true);
$i = $c;
while ($i--) {
    \Nabble\Semalt::blocked();
}
echo number_format((microtime(true) - $time_pre) / $c * 1000, 8) . "ms\n";