forked from friendica/friendica-addons
		
	
		
			
				
	
	
		
			32 lines
		
	
	
	
		
			769 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			769 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * Name: blockbot
 | 
						|
 * Description: Blocking bots based on detecting bots/crawlers/spiders via the user agent and http_from header.
 | 
						|
 * Version: 0.1
 | 
						|
 * Author: Philipp Holzer <admin@philipp.info>
 | 
						|
 *
 | 
						|
 */
 | 
						|
 | 
						|
use Friendica\App;
 | 
						|
use Friendica\Core\Hook;
 | 
						|
use Friendica\Core\System;
 | 
						|
use Jaybizzle\CrawlerDetect\CrawlerDetect;
 | 
						|
 | 
						|
require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
 | 
						|
 | 
						|
function blockbot_install() {
 | 
						|
	Hook::register('init_1', __FILE__, 'blockbot_init_1');
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
function blockbot_uninstall() {
 | 
						|
	Hook::unregister('init_1', __FILE__, 'blockbot_init_1');
 | 
						|
}
 | 
						|
 | 
						|
function blockbot_init_1(App $a) {
 | 
						|
	$crawlerDetect = new CrawlerDetect();
 | 
						|
 | 
						|
	if ($crawlerDetect->isCrawler()) {
 | 
						|
		System::httpExit(403, 'Bots are not allowed');
 | 
						|
	}
 | 
						|
}
 |