Показать сообщение отдельно

  #764  
Старый 03.11.2007, 01:43
RedBull@12
Участник форума
Регистрация: 06.11.2006
Сообщений: 129
Провел на форуме:
482261

Репутация: 58
По умолчанию

Цитата:
Сообщение от inlanger  
нифига не понял...можно подробнее? ведь єто тема для ПХП новичков.
Я могу предложить вот такой вариант, обственно то что предлагал.
PHP код:
<?php
if ($_SERVER['HTTP_USER_AGENT'] != "") { echo "пришел юзвер"; }
?>
схема не 100% вероятные проблемы:
1-поделка запроса,либо какой либо мусор в запорсе,можно отфильтровать.
2-если в настройках браузера установлено, чобы он не передавал эту инфу, или каки-либо другие трудности, то ту другой вариант,-выдирать ip-клиента($_SERVER['REMOTE_ADDR']) и проверяем на наличе хоста на этом ip(http://search.msn.com/results.aspx?q=ip:здесь_ip_который_в драли, и проверяем что нам выдал поиск)

Ну и как следствие из всего выше излагаемого
PHP код:
<?php 
$test 
"no!";
if (
$_SERVER['HTTP_USER_AGENT'] != "" ) { 
    if ( 
substr_count($_SERVER['HTTP_USER_AGENT'],"Opera") > or substr_count($_SERVER['HTTP_USER_AGENT'],"Mozilla") > ) { $test "ok!"; }
}
$file file_get_contents("http://search.msn.com/results.aspx?q=ip:".$_SERVER['REMOTE_ADDR']);
$file1 file("http://search.msn.com/results.aspx?q=ip:".$_SERVER['REMOTE_ADDR']);
$exmp1 "|<h1>Поиск по запросу &quot;<strong>ip:(.*)</strong>&quot; не дал результатов.</h1>|siU";
$exmp2 "|<h1>We did not find any results for <strong>ip:(.*)</strong>.</h1>|siU";
preg_match($exmp2,$file,$out2);
if ( 
$out1[0] != "" or $out2[0] != "" ) { echo "Пришел юзвер<br>\n\r"; }
else { echo 
"Пришел ROBOT<br>\n\r"; }
echo 
"Тест на браузер:".$test;
?>
Скрипт можно оптимизировать записывая в файл ip-адреса уже побывавших машин,и уже не использовать проверку на наличие доменного имени привязанного к этому ip.
Ну а дальше автор разбирайся сам, во всяком случаи могу помочь в реализации, елси будут проблемы.

p.s.:Еще одной из ступени проверки можно включить само определение чему принадлежит ip,но это уже немного другая история.

Последний раз редактировалось RedBull@12; 03.11.2007 в 03:27..
 
Ответить с цитированием