О_0 Меня вычислили, на 2ип.ру моя подсеть 85.26.*.*83.149.**.8*
О_0 Меня вычислили, на 2ип.ру моя подсеть 85.26.*.*83.149.**.8*
:bd::bm::bo:D:Код:Сделано на совесть, значит на века. Обычный компютер может быть загружен на 100% самыми обычными шахматами.
Как разделить сайт на части?
Нужен простой пример готового сайта? Кликай!
[PHP]Мониторинг samp серверов
[Pawno]Защита на кражу/подмену мода через rcon пароль.
Мой вариант php:
Юзаем:PHP код:
<?php
$isip = preg_match('/^(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}$/', $_REQUEST['ip']);
if(!$isip) exit("Error: Неправильное использование.");
$content = file_get_contents('http://ip-whois.net/ip_geo.php?ip='.$_REQUEST['ip']);
preg_match('~</IFRAME>.*?(?:Страна: ([А-Яа-яA-Za-z ]*))<br>.*?(?:Регион: ([А-Яа-яA-Za-z ]*))<br>.*?(?:Город: ([А-Яа-яA-Za-z ]*))<br>~is', $content, $values);
exit(htmlspecialchars($values[1]."|".$values[2]."|".$values[3]));
?>
Регулярки the best ^^PHP код:
#include <a_samp>
#include <a_http>
#include <sscanf2>
enum gInfo
{
pCountry,
pRegion,
pCity
}
new GeoInfo[MAX_PLAYERS][gInfo], PlayerName[MAX_PLAYERS][24];
stock GetPlayerGeoInfo(playerid, ip[])
{
new data[20]; format(data, 20, "ip=%s", ip);
HTTP(playerid, HTTP_POST, "url/u.geoinfo.php", data, "GeoInfoResponse");
}
public OnPlayerConnect(playerid)
{
new ip[16]; GetPlayerIp(playerid, ip, 16);
GetPlayerGeoInfo(playerid, ip);
new string[150];
format(string, 128, "Игрок %s подключился. (%s, %s, %s).", PlayerName[playerid], GeoInfo[playerid][pCountry], GeoInfo[playerid][pRegion], GeoInfo[playerid][pCity]);
SendClientMessage(playerid, -1, string);
}
forward GeoInfoResponse(playerid, response_code, data[]);
public GeoInfoResponse(playerid, response_code, data[])
{
switch(response_code)
{
case 200:
{
sscanf(data, "p<|>s[32]s[32]s[32]", GeoInfo[playerid][pCountry], GeoInfo[playerid][pRegion], GeoInfo[playerid][pCity]);
printf("%d player from %s, %s, %s\n", GeoInfo[playerid][pCountry], GeoInfo[playerid][pRegion], GeoInfo[playerid][pCity]);
}
default: print("Error.");
}
}
[Услуга] u.WiseAlex как скриптер
[Tutorial] Советы по MySQL.
[Tutorial] Компилируем через .bat
[Include] u.Chat
[Продажа] u.Vehicle
Skype - u.wisealex
ICQ - 62962222
Мое мнение - формат немного неудобныйСтрана: %s Регион: %s Город: %s
Страна: %s; Регион: %s; Город: %s - так выглядело бы лучше))
А еще предлагаю сделать тип без Страна, город и т.д:
%s, %s (только сами значения страны и города)
Так было бы гораздо удобнее выводить при коннекте
Надеюсь, поняли о чем я
Мои уроки:
1. Создание рангов для администрации
2. Создание спидометра
3. Система AFK
4. Операторы
5. MySQL - разбор функций
6. MySQL - перевод на R7 (урок / помощь) NEW!
Разработки:
1. Динамическая система гонок
2. Бан-система по дням R4 [SQLite]
3. Бан-система по дням R2 [MySQL] NEW!
4. GeoIP Include R1 NEW!
[Услуга] u.WiseAlex как скриптер
[Tutorial] Советы по MySQL.
[Tutorial] Компилируем через .bat
[Include] u.Chat
[Продажа] u.Vehicle
Skype - u.wisealex
ICQ - 62962222
Я спать хочу, туплю мб...
Сюда ведь строки записываются? Тут разве не надо размер массива указывать? о_ОPHP код:
enum gInfo
{
pCountry,
pRegion,
pCity
}
Мои уроки:
1. Создание рангов для администрации
2. Создание спидометра
3. Система AFK
4. Операторы
5. MySQL - разбор функций
6. MySQL - перевод на R7 (урок / помощь) NEW!
Разработки:
1. Динамическая система гонок
2. Бан-система по дням R4 [SQLite]
3. Бан-система по дням R2 [MySQL] NEW!
4. GeoIP Include R1 NEW!
[Услуга] u.WiseAlex как скриптер
[Tutorial] Советы по MySQL.
[Tutorial] Компилируем через .bat
[Include] u.Chat
[Продажа] u.Vehicle
Skype - u.wisealex
ICQ - 62962222
Прикольно Жаль я регулярными выражениями до сих пор не научился пользоваться.
Ты сразу исправил бы и здесь код.. (я про поддержку тире в названиях).
Омг.. К PHP-обработчику более 10 тысяч обращений (как не странно, используют только 3 тип запроса).
Ну ок.. Т.к. 3 тип запроса только и используют, то я сделаю свободный формат.
3 тип запроса оставил. Т.е. кто его использует - так и будет всё возвращать.
Новый прототип функции:
GetPlayerGeoInfo(playerid, IP[], GeoFormat[]);
Как использовать формат:
Параметры:
%country% - страна.
%region% - регион.
%city% - город.
Вид запроса:
Пример:PHP код:
IP=%s&format=%s
Если что-то непонятно - задаём вопросы.PHP код:
#include <a_samp>
#include <a_http>
public OnPlayerConnect(playerid)
{
new plrIP[16];
GetPlayerIp(playerid, plrIP, sizeof(plrIP));
GetPlayerGeoInfo(playerid, plrIP, "Город: %city%, Страна: %country%, Регион: %region%.И еще раз город: %city%");
}
stock GetPlayerGeoInfo(playerid, IP[], GeoFormat[])
{
new string[200];
format(string, sizeof(string), "IP=%s&format=%s", IP, GeoFormat);
HTTP(playerid,HTTP_POST,"cruelgame.ru/GeoInfo.php", string,"ResponseGeoInfo");
}
forward ResponseGeoInfo(playerid, response_code, data[]);
public ResponseGeoInfo(playerid, response_code, data[])
{
SendClientMessage(playerid, -1, data);
}
пусто
http://ip-whois.net/ip_geo.php?ip=31.163.243.1
Почему здесь нет названия страны ? Оо
Мои уроки:
1. Создание рангов для администрации
2. Создание спидометра
3. Система AFK
4. Операторы
5. MySQL - разбор функций
6. MySQL - перевод на R7 (урок / помощь) NEW!
Разработки:
1. Динамическая система гонок
2. Бан-система по дням R4 [SQLite]
3. Бан-система по дням R2 [MySQL] NEW!
4. GeoIP Include R1 NEW!
Вот исправленный вариант:
Pawn пример:PHP код:
<?php
header('content-type: text/html; charset=cp1251');
$isip = preg_match('/^(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}$/', $_REQUEST['ip']);
if(!$isip) exit("Error: Неправильное использование.");
$content = file_get_contents('http://ip-whois.net/ip_geo.php?ip='.$_REQUEST['ip']);
preg_match('~</IFRAME>.*?(?:Страна: ([А-Яа-яA-Za-z- ]*))<br>.*?(?:Регион: ([А-Яа-яA-Za-z- ]*))<br>.*?(?:Город: ([А-Яа-яA-Za-z- ]*))~is', $content, $values);
exit(htmlspecialchars($values[1]."|".$values[2]."|".$values[3]));
?>
Вроде бы теперь ошибок нет.PHP код:
#include <a_samp>
#include <a_http>
#include <sscanf2>
enum gInfo
{
pCountry[32],
pRegion[32],
pCity[32]
}
new GeoInfo[MAX_PLAYERS][gInfo], PlayerName[MAX_PLAYERS][24];
public OnPlayerConnect(playerid)
{
new ip[16]; GetPlayerIp(playerid, ip, 16);
new data[20]; format(data, 20, "ip=%s", ip);
HTTP(playerid, HTTP_POST, "url/u.geoinfo.php", data, "GeoInfoResponse");
new string[150];
format(string, 128, "Игрок %s подключился. (%s, %s, %s).", PlayerName[playerid], GeoInfo[playerid][pCountry], GeoInfo[playerid][pRegion], GeoInfo[playerid][pCity]);
SendClientMessage(playerid, -1, string);
}
forward GeoInfoResponse(playerid, response_code, data[]);
public GeoInfoResponse(playerid, response_code, data[])
{
switch(response_code)
{
case 200:sscanf(data, "p<|>s[32]s[32]s[32]", GeoInfo[playerid][pCountry], GeoInfo[playerid][pRegion], GeoInfo[playerid][pCity]);
default: print("Error.");
}
}
Games, если хочешь то закрепи в первый пост.
[Услуга] u.WiseAlex как скриптер
[Tutorial] Советы по MySQL.
[Tutorial] Компилируем через .bat
[Include] u.Chat
[Продажа] u.Vehicle
Skype - u.wisealex
ICQ - 62962222