@artyom_jeman

Как отсеять пользователей не из поисковых систем?

В общем суть такая.
Нужно определить если пользователь пришел из какой-то поисковой системы, то показывать ему сайт, если же нет то показывать ошибку.
Написал набросок. но есть проблема, если перейти с первого раза на сайт то не сразу срабатывает, http_referer будто не сразу считывается, а после перезагрузки.
<?php
	/**
		* Front to the WordPress application. This file doesn't do anything, but loads
		* wp-blog-header.php which does and tells WordPress to load the theme.
		*
		* @package WordPress
	*/
	
	/**
		* Tells WordPress to load the WordPress theme and output it.
		*
		* @var bool
	*/
	
	if($_COOKIE['alow']!="1"){ //Если нет куки то делает проверку, иначу нет смысла
		$ref = $_SERVER['HTTP_REFERER'];  	
		$findme   = array("google", "yandex", "mail", "rambler");
		foreach($findme as $find){
			$pos = strpos($ref, $find);
			$res=0;
			if ($pos === false) {
				$res = 0;//строка не найдена
				
			}
			else 
			{
				$res = 1;//строка  найдена
				setcookie("alow","1",time()+9999 ,'/' );
				echo $res;
				break;
			}
		}
	}
	
	
	echo "RES ".$_SERVER['HTTP_REFERER'];
	if($_COOKIE['alow']=="1"||$res==1){
		
		
		define('WP_USE_THEMES', true); //грузим WP
		require( dirname( __FILE__ ) . '/wp-blog-header.php' ); //грузим WP
		
		
		}
	else
	{
		http_response_code(404);
		 
	}
  • Вопрос задан
  • 263 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы