Spiders UA в текущих реалиях (привет, ИИ!)

admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Spiders UA в текущих реалиях (привет, ИИ!)

Post by admin »

вы путаете серверные переменные и тол что доступно в пхп

явно написано
"for example: $MM_ASN:15169, ie in server variable MM_ASN equal 15169 then it's a spider"

значит именно $MM_ASN:15169 так и надо писать

не надо выискиывать что в пхп как-то иначе называется или в JS называлось бы иначе, надо писать именно так как написано в примере
Don't forget to run script update
moteam
Posts: 128
Joined: Sat Feb 26, 2011 1:15 pm

Re: Spiders UA в текущих реалиях (привет, ИИ!)

Post by moteam »

ну вы так бы и писали, что это переменная, которая ВОЗМОЖНО может быть в ПХП если ее настроить.
Это же не дефолтное поведение, верно?
надо ставить модуль поверх пехепе? Или она уже есть сразу у всех? как тогда проверить что она есть? в test.php про ASN вообще ничего нет.
In PHP, the term $MM_ASN is not a standard or built-in variable. The letters "MM" and "ASN" suggest a combination of "Shared Memory (MM)" and "Abstract Syntax Notation One (ASN.1)" and are likely part of a third-party library.
Можно было же сразу ответить на это все в первом ответе, а не играть в "угадай мелодию". Ну или сразу расписать в доках.

Ок, как мне тогда сказать смарту из пехепе что те кто пришли ко мне с хедером определенным (в моем случае $_SERVER["HTTP_MM_ASN"] == 12345 ) - это спайдеры? Накостылить в useragent что-то типа "+CustomBotParser" - и тогда такую строку в Spiders UA? До включения смарта?

или, может добавите в функционал проверку еще и через $_SERVER[] вары в spiders/blocked ips ?
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Spiders UA в текущих реалиях (привет, ИИ!)

Post by admin »

In PHP, the term $MM_ASN is not a standard or built-in variable. The letters "MM" and "ASN" suggest a combination of "Shared Memory (MM)" and "Abstract Syntax Notation One (ASN.1)" and are likely part of a third-party library.
это гпт видно

https://github.com/maxmind/mod_maxminddb

его настройка

MaxMindDBEnv MM_ASN ASN_DB/autonomous_system_number

в дефолтном случае именно так и называется - MM_ASN
спорить это можно назвать стандартной переменной или нет я не буду)

все что написано в списке и начинается с $ как в примере с $MM_ASN:15169 смарт ищет в переменных сервера , те в этом примере $_SERVER['MM_ASN']

если у вас будет написано $_SERVER['YA_HOCHU_MM_ASN'] и в конфиге будет $YA_HOCHU_MM_ASN то по идее так тоже будет работать, но дабы не путаться я бы рекомендовал придерживаться тех перменных которые по умолчанию ставятся при сетапе модуля
Don't forget to run script update
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Spiders UA в текущих реалиях (привет, ИИ!)

Post by admin »

я думаю надо ограничить проблему "я все вписал, но везде считает" конкретикой например

"В настройках Blocked IPs
Есть строка
$HTTP_MM_ASN:45102

в /admin/test.php есть хедер
$_SERVER['HTTP_MM_ASN'] 133481 - мой текущий

Но трафик с IP address 47.79.219.175 is AS45102 все-равно считается как SE. Судя по скриншотам выше."


итого проблема: в конфиге есть ASN, переменные сервера показывают ASN, но трафик все равно считает

проверить это легко
1. добавляем себя ($_SERVER['HTTP_MM_ASN'] 133481 - мой текущий) в Blocked IPs
2. Blocked IP action стоит dont count
3. ждем минуту что б точно сработал крон
4. создаем трейдера test.com и заходим /?id=test.com

по идее должно определить ASN 133481 и этот хит не должно засчитать

если его считает - тогда админку, шел и будем проверять что не так
Don't forget to run script update
moteam
Posts: 128
Joined: Sat Feb 26, 2011 1:15 pm

Re: Spiders UA в текущих реалиях (привет, ИИ!)

Post by moteam »

admin wrote: Wed Sep 24, 2025 3:14 am
https://github.com/maxmind/mod_maxminddb

его настройка

MaxMindDBEnv MM_ASN ASN_DB/autonomous_system_number

в дефолтном случае именно так и называется - MM_ASN
спорить это можно назвать стандартной переменной или нет я не буду)
...
я бы рекомендовал придерживаться тех перменных которые по умолчанию ставятся при сетапе модуля

Code: Select all

MaxMindDBEnv is not a default PHP feature. It is a directive used by the mod_maxminddb module, which is a third-party module for the Apache web server. This module must be installed and configured separately on the web server to be used with PHP. 

Code: Select all

To use this module, you must first download or create a MaxMind DB file. We provide free GeoLite2 databases as well as [b]commercial GeoIP2 databases[/b].
К тому же это еще и надстройка над Апачем, которого может и не быть совсем.

Что возвращает к тому что это не дефолтное поведение, и нужны танцы с бубном и пинки админа (+ чтобы оно устойчиво работало надо брать платную версию геоайпи базы).
Посему - расширяйте доку чтобы вас не задалбывали тупыми вопросами.

admin wrote: Wed Sep 24, 2025 6:06 am я думаю надо ограничить проблему "я все вписал, но везде считает" конкретикой например

"В настройках Blocked IPs
Есть строка
$HTTP_MM_ASN:45102

в /admin/test.php есть хедер
$_SERVER['HTTP_MM_ASN'] 133481 - мой текущий

Но трафик с IP address 47.79.219.175 is AS45102 все-равно считается как SE. Судя по скриншотам выше."
Собственно, это все и было изложено в сообщении выше.
Со строками, примерами, и скриншотами. Хз как вы читаете.

admin wrote: Wed Sep 24, 2025 3:14 am если у вас будет написано $_SERVER['YA_HOCHU_MM_ASN'] и в конфиге будет $YA_HOCHU_MM_ASN то по идее так тоже будет работать
не будет, если в смарте нет логики про "чекай переменные от $_SERVER". Ответа на вопрос - проверяет ли он именно по $_SERVER варам я не увидел от вас ни в одном сообщении. Как и о том что это за переменная $MM_ASN и откуда его кто должен брать (пехепе/апач/нгинкс/таролог).



В итоге два дня, ноль ответов по делу. А только еврейские вопросы на вопросы.
moteam
Posts: 128
Joined: Sat Feb 26, 2011 1:15 pm

Re: Spiders UA в текущих реалиях (привет, ИИ!)

Post by moteam »

Парни, если у кого подобные проблемы, вот как я решил вопрос.
Мой сетап: пхп + нгинкс + домен проксируется клаудфлером.

1) Идем в клаудфлер, в домен. Выбираем Rules > Overview > [+ Create rule]
создаем новый Request Header Transform Rule с настройками:
If incoming requests match… All incoming requests
Then...
set dynamic
header name: MM-ASN
value: to_string(ip.src.asnum)
Screenshot 2025-09-24 at 15.17.00.png
Screenshot 2025-09-24 at 15.17.00.png (166.38 KiB) Viewed 14025 times
Теперь в вашем пехепе без танцев появится $_SERVER["HTTP_MM_ASN"], клаудфлер автоматом добавляет HTTP_ префикс и заменяет тире на прочерки.

2) Если у вас, как у меня, весь смарт завернут на кастомный index.php, внутри которого уже инклюдится include("./path/to/smart/cgi/index.php"):

Code: Select all

// list of manually checked bot ASNs:
$asns = [15169, 8075, 136907, 210743, 396982, 23033, 16276, 209366, 24940, 32934, 16509, 13238, 55967, 399358, 14618, 13335, 51167, 45102, 141723, 212238, 132203];

if (in_array(@$_SERVER["HTTP_MM_ASN"], $asns)) {
	$_GET["skip_test_thumbs"] = true;
	$_GET["dont_count_in_trade"] = true;
	$_GET["skip_sell"] = true;
	$_GET["p"] = 100;

	$_SERVER['HTTP_USER_AGENT']	= "+CustomBotIAm " . $_SERVER['HTTP_USER_AGENT'];
}

// include smart afterwards:
include("./path/to/smart/cgi/index.php")
таким образом, к рекущему HTTP_USER_AGENT от такого запроса добавляется текст "+CustomBotIAm"

3) Идем в смарт: Settings > Config lists > Spiders UA
добавляем строку CustomBotIAm

И радуемся тому что боты теперь считаются как spiders наконец. А не как SE/bookmarks и прочее что убивает ротацию.
Screenshot 2025-09-24 at 15.23.13.png
Screenshot 2025-09-24 at 15.23.13.png (197.22 KiB) Viewed 14025 times
Screenshot 2025-09-24 at 15.23.28.png
Screenshot 2025-09-24 at 15.23.28.png (205.13 KiB) Viewed 14025 times

Ради инфы - вот что за ASN-ы отобрал себе, можете выбирать нужное.
8075 - MICROSOFT-CORP-MSN-AS-BLOCK GPTBot/1.2; +https: //openai.com/gptbot)
8075 - MICROSOFT-CORP-MSN-AS-BLOCK bingbot/2.0; +http: //www.bing.com/bingbot.htm / Chatgpt OpenAI
136907 - HWCLOUDS-AS-AP HUAWEI CLOUDS PetalBot;+https: //webmaster.petalsearch.com/site/petalbot
396982 - GOOGLE-CLOUD-PLATFORM / VPN ? bot? LLM-s?
16276 - Ahrefs
209366 - SEMRUSH-AS
24940 - HETZNER-AS BLEXBot/1.0; +https: //help.seranking.com/en/blex-crawler AwarioBot/1.0; +https://awario.com/bots.html
15169 - GOOGLE Googlebot/2.1; +http: //www.google.com/bot.html
32934 - FACEBOOK meta-webindexer/1.1 (+https: //developers.facebook.com/docs/sharing/webmasters/crawler)
16509 - AMAZON-02 TikTokSpider; [email protected]
13238 - YANDEX YandexBot/3.0; +http: //yandex.com/bots
210743 - BABBAR-AS Barkrowler/0.9; +https: //babbar.tech/crawler
55967 - BAIDU
399358 - (Claude Anthropic, PBC) and advertises 160.79.104.0/23 (and IPv6) for its services.
14618 - Common Crawl (CCBot / CC data)
13335 - Cloudflare
51167 - also registered to Contabo GmbH.
212238 - Datacamp Limited and is associated with malicious and suspicious activity. Its hostname is unn-154-47-24-95.datapacket.com, indicating it is part of the Datapacket network
45102 - ALIBABA-CN-NET Alibaba US Technology Co., Ltd.
132203 - TENCENT-NET-AP-CN Tencent Building, Kejizhongyi Avenue
23033 - This is the primary ASN associated with Wowrack.com in the United States.
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Spiders UA в текущих реалиях (привет, ИИ!)

Post by admin »

moteam wrote: Wed Sep 24, 2025 8:11 am не будет, если в смарте нет логики про "чекай переменные от $_SERVER". Ответа на вопрос - проверяет ли он именно по $_SERVER варам я не увидел от вас ни в одном сообщении. Как и о том что это за переменная $MM_ASN и откуда его кто должен брать (пехепе/апач/нгинкс/таролог).
если у вас будет написано $_SERVER['YA_HOCHU_MM_ASN'] и в конфиге будет $YA_HOCHU_MM_ASN то по идее так тоже будет работать, но дабы не путаться я бы рекомендовал придерживаться тех перменных которые по умолчанию ставятся при сетапе модуля
это является ответом на вопрос или нет?
Don't forget to run script update
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Spiders UA в текущих реалиях (привет, ИИ!)

Post by admin »

moteam wrote: Wed Sep 24, 2025 8:11 am

Code: Select all

MaxMindDBEnv is not a default PHP feature. It is a directive used by the mod_maxminddb module, which is a third-party module for the Apache web server. This module must be installed and configured separately on the web server to be used with PHP. 

Code: Select all

To use this module, you must first download or create a MaxMind DB file. We provide free GeoLite2 databases as well as [b]commercial GeoIP2 databases[/b].
К тому же это еще и надстройка над Апачем, которого может и не быть совсем.

Что возвращает к тому что это не дефолтное поведение, и нужны танцы с бубном и пинки админа (+ чтобы оно устойчиво работало надо брать платную версию геоайпи базы).
Посему - расширяйте доку чтобы вас не задалбывали тупыми вопросами.
это НЕ надстротройка над апачем, это настройка В апач если на то пошло

я лично не вижу смысла это писать, потому что как вопрос в базой ASN так же может быть вопрос с php
php это тоже не часть апача, и ioncube не часть апач, но это вы настроили и разобрались и вам кажется это логичным, но по факту наверно надо написать как настроить php, апач и вообще весь сервак


но я спорить не хочу, говорите что именно дописать в доку - именно так и допишу куда скажете
Don't forget to run script update
admin
Site Admin
Posts: 37994
Joined: Wed Sep 10, 2008 11:43 am

Re: Spiders UA в текущих реалиях (привет, ИИ!)

Post by admin »

moteam wrote: Wed Sep 24, 2025 8:29 am Парни, если у кого подобные проблемы, вот как я решил вопрос.
Мой сетап: пхп + нгинкс + домен проксируется клаудфлером.

1) Идем в клаудфлер, в домен. Выбираем Rules > Overview > [+ Create rule]
создаем новый Request Header Transform Rule с настройками:
If incoming requests match… All incoming requests
Then...
set dynamic
header name: MM-ASN
value: to_string(ip.src.asnum)
Screenshot 2025-09-24 at 15.17.00.png

Теперь в вашем пехепе без танцев появится $_SERVER["HTTP_MM_ASN"], клаудфлер автоматом добавляет HTTP_ префикс и заменяет тире на прочерки.

2) Если у вас, как у меня, весь смарт завернут на кастомный index.php, внутри которого уже инклюдится include("./path/to/smart/cgi/index.php"):

Code: Select all

// list of manually checked bot ASNs:
$asns = [15169, 8075, 136907, 210743, 396982, 23033, 16276, 209366, 24940, 32934, 16509, 13238, 55967, 399358, 14618, 13335, 51167, 45102, 141723, 212238, 132203];

if (in_array(@$_SERVER["HTTP_MM_ASN"], $asns)) {
	$_GET["skip_test_thumbs"] = true;
	$_GET["dont_count_in_trade"] = true;
	$_GET["skip_sell"] = true;
	$_GET["p"] = 100;

	$_SERVER['HTTP_USER_AGENT']	= "+CustomBotIAm " . $_SERVER['HTTP_USER_AGENT'];
}

// include smart afterwards:
include("./path/to/smart/cgi/index.php")
таким образом, к рекущему HTTP_USER_AGENT от такого запроса добавляется текст "+CustomBotIAm"

3) Идем в смарт: Settings > Config lists > Spiders UA
добавляем строку CustomBotIAm

И радуемся тому что боты теперь считаются как spiders наконец. А не как SE/bookmarks и прочее что убивает ротацию.

Screenshot 2025-09-24 at 15.23.13.pngScreenshot 2025-09-24 at 15.23.28.png

Прекрасный пример "как сделать костыли на ровном месте"

пойдем по очереди

1. MM_ASN - это MaxMind (MM) ASN , его ставит модуль апача (встроенная часть апача), это бесплатная часть которая доступна на любом хостинге без танцев с бубном, те MM_ASN появляется бесплтано на серваке примерно так же как появляется пхп

2. но вы решили пойти костылями и взять эту же переменную с клауда, там она называется ip.src.asnum, вы это засунули в переменную MM-ASN, видимо думая что так оно и будет на серваке, но...

3. "клаудфлер автоматом добавляет HTTP_ префикс и заменяет тире на прочерки." - это делает апач когда получает переменные

4. "сделать кастомный index.php в этим всем" - так делать не надо. если уж вы хотите что=-то вписать - код можно дописать в common.php
в этом случае можно было вписать $HTTP_MM_ASN:12345 в список spider UA


НО

лучше пропустить эти все костыли и просто поставить на серваке бесплатный мод апача от maxmind (он же ранее известный как geoip) и пользоваться привычным $MM_ASN и тп без необходимости что-то настраивать на клауде, дописывать какие-то кастомные файлы и тп

те в моменте когда оказалось что нет MM_ASN можно просто спросить "почему нет" вместо того что б бросаться делать костыль ...
Don't forget to run script update
Post Reply