Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Задать массив стран для доменов из одного места на сервере.
цитата
06/01/13 в 13:39
 TGPtraffic_biz_inSect
С Наступившим всех )
Все отдыхают, а нужно скрипт переделать срочно
<?php
function in_arrayi($needle, $haystack) {
return in_array(strtolower($needle), array_map('strtolower', $haystack));
}

$country1 = array('US','IT','RU','BR','CH','CN','JP');
$country2 = array('DE','FR','GB','ES','CA','NL','BE','SE','AT','AU','FI','DK','NO','IE','TW','NZ');
$country3 = array('MA','KZ','JO','PH','LT','CZ','BG','PL','RO','AR','IQ','ZA','PK','LK');
Дальше много кода
?>

Суть в том что этот скрипт используется на 100+ доменах, а массивы стран периодически меняются и просто нереально везде лезть и править. Нужно сделать чтоб задавалось из одного места на серваке.
Подскажите решение - я отблагодарю на ВМЗ )
Можно в личку
цитата
06/01/13 в 14:24
 johndoe2
Создать файл /usr/share/my/zones.php (root:root 644) с содержимым
Код:
<?php
$country1 = array('US','IT','RU','BR','CH','CN','JP');
$country2 = array('DE','FR','GB','ES','CA','NL','BE','SE','AT','AU','FI','DK','NO','IE','TW','NZ');
$country3 = array('MA','KZ','JO','PH','LT','CZ','BG','PL','RO','AR','IQ','ZA','PK','LK');


И на всех сайтах заменить три строчки $countryX = ... на один require('/usr/share/my/zones.php');


Еще как вариант, если на всех сайтах файл, содержащий зоны, одинаковый, можно бросить его куда-нибудь в /usr/share/... а в каталогах сайтов вместо файла проставить symlink на него
цитата
06/01/13 в 14:42
 fihorn
или даже заинклудить этот кусок с отдельного сервера по урлу

// Works.
include 'http://www.example.com/file.php?foo=1&bar=2';
цитата
06/01/13 в 16:01
 TGPtraffic_biz_inSect
Заменил 3 строки в .php файле на
require('/usr/share/my/zones.php');
Скрипт перестал отрабатывать - просто выводит сожержимое файла zones.php в код
цитата
06/01/13 в 16:05
 Stek
<?php не забыл добавить в начало /usr/share/my/zones.php ?
цитата
06/01/13 в 16:13
 johndoe2
TGPtraffic_biz_inSect писал:
Заменил 3 строки в .php файле на
require('/usr/share/my/zones.php');
Скрипт перестал отрабатывать - просто выводит сожержимое файла zones.php в код


Давай так попробуем

/usr/share/my/zones.json
Код:
{
   "country1": ["US","IT","RU","BR","CH","CN","JP"],
   "country2": ["DE","FR","GB","ES","CA","NL","BE","SE","AT","AU","FI","DK","NO","IE","TW","NZ"],
   "country3": ["MA","KZ","JO","PH","LT","CZ","BG","PL","RO","AR","IQ","ZA","PK","LK"]
}


И подключать их такой строчкой
Код:
extract($zones=json_decode(file_get_contents('/usr/share/my/zones.json'),true));
цитата
06/01/13 в 16:54
 TGPtraffic_biz_inSect
Stek: Ты прав, спасибо )
К сожалению не знаю php совсем (
цитата
06/01/13 в 17:09
 Торин Дубощит
fihorn:
за такое кастрировть, этож Remote File Include.(доступный шел на серваке или еще какая хрень)

TGPtraffic_biz_inSect:
если еще актуально =), то скорее всего у вас проблема с правами на директорию ниже (СейфМод, БейзДир).

идиотизм конечно редкий но голову приходит только "ln -s" или так если все на одном серваке :

extract($zones=json_decode(file_get_contents('http://localhost/zones.json'),true));


Если на разных, выложить на одном из доменов и открыть к файлу доступ по IP через .htaccess

Последний раз редактировалось: Торин Дубощит (06/01/13 в 17:48), всего редактировалось 2 раз(а)
цитата
06/01/13 в 17:23
 st01en
Торин Дубощит писал:
fihorn:
за такое кастрировть, этож Remote File Include.


А заодно кастрировать всех, кто пишет трейдскрипты и ротаторы? Этим заявлением ты показал свой уровень знания пхп icon_wink.gif
цитата
06/01/13 в 17:47
 Торин Дубощит
st01en: ммм, будь добр дай пруф линк на Cj где require("http://domain.com/").
цитата
06/01/13 в 18:34
 st01en
в сиджах используются инклуды. везде. а уж откуда ты будешь тянуть свой скрипт - это твое дело. а если ты не можешь безопасно это сделать, то это твоя проблема icon_biggrin.gif
цитата
07/01/13 в 09:08
 Торин Дубощит
st01en: smail54.gif ай молодец, гвозди телескопом часто забиваешь? facepalm.gif
цитата
07/01/13 в 13:22
 st01en
Торин Дубощит:
Ты баран? Или ты думаешь fihorn здесь первый день? Или TGPtraffic_biz_inSect настолько туп, что понимает все буквально? Кастрировать надо таких как ты, которые прочитали книжку по питону и пхп и считают себя крутыми программерами. Stek вон почему-то промолчал. Хотя кодил на пхп, наверно еще на 3, ну на 4-м точно. А ты себя считаешь умнее всех?
Ну расскажи нам, чем же так опасен Remote File Include.

И да, если нет ничего другого под рукой, я забиваю гвозди тем что есть.
цитата
07/01/13 в 13:35
 Торин Дубощит
st01en: trollface.png да у вас батхерт, собственно предлагать require(include) для внешнего файла, это уже сам по себе дурной пример и обычно после этого следуют другие еще более критичные упущения.

Я высказал свою мысль в слух, просто забыл что это форум AWM trollface.png.
цитата
07/01/13 в 15:54
 st01en
Да ну? И чем же дурной? В книжках пишут? Не съезжай, а объясняй, раз можешь советовать кого кастрировать, а кого нет.
цитата
07/01/13 в 16:25
 DF™
Если предложенные варианты не устраивают, можно заморочиться и использовать разделяемую память http://www.codenet.ru/webmast/php/Shared-Memory.php - самый быстрый способ будет.
цитата
07/01/13 в 21:04
 Торин Дубощит
st01en: из личного наблюдения очень долго работает с сетью, принципиально не работает в конфиге по умолчанию. И да открыв allow_url_fopen можно получить кучу другого гемороя, если интересно могу даже накатать статью.
цитата
07/01/13 в 22:17
 fihorn
я использовал инклуд сторонних файлов между своими серверами, когда свою рекламу вставлял на свои же сайты в других датацентрах.

так же использовал пару раз, когда мои контрагенты вставляли мою рекламу на свои сайты через такой вот инклуд (естественно, что они меня при этом так же не первый день знали).

естественно, что каждый случай индивидуален, и не стоит инклудить все подряд.

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

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

чем опасен инклуд файла между своими серверами?
цитата
07/01/13 в 22:57
 Торин Дубощит
fihorn: если закрыть доступ из мира ничем =), правда открыв эту опцию могут вылезти баги и уязвимости в скриптах на серваке и т.д.
цитата
08/01/13 в 01:24
 st01en
Торин Дубощит: Мне не интересны твои личные наблюдения. Я же задал прямой вопрос - чем опасен инклуд с удаленного сервера? У меня есть два сервера, один в штатах, второй в германии, есть инклуды, есть также общие базы на инкси. Вот мне хочется знать, чем же это мне грозит? Доступы обычные, сайты стоят и работают. Давай, просвещай нас темных trollface.png
цитата
08/01/13 в 02:45
 Торин Дубощит
st01en: ок, дешевенький пример. Хакнули тебе сервак, в штатах по логам глянули что есть обращение к файлу, который отдает php код, вставили в него бекдор. залили тебе shell.

Итог двойная головная боль, в оф. рассылке обещают выпилить возможность этого.

Думайте сами, решайте сами trollface.png иметь вам или не иметь возможную головную боль.

В дальнейшем не вижу нужды тебе объяснять тонкости.
цитата
08/01/13 в 03:48
 fihorn
Торин Дубощит писал:
ок, дешевенький пример. Хакнули тебе сервак
...
В дальнейшем не вижу нужды тебе объяснять тонкости.


тонкость как раз в том, что если тебе сервак с трафиком хакают, обычно на него инклудят всякую малвару, а не с него.

но я знаю, что тебе похуй.

иди с миром, яйца береги.
;)
цитата
08/01/13 в 03:50
 arma
Вообще +1 за инклуд кастрировать, а то что всякие скрипты сиджей написаны через жопу, так - так это их(ваши) проблемы.

Например много протоколов обмена данными есть, нахуя втупую инклудить-то?
Вот johndoe2 один из правильных и удобных вариантов посоветовал - json.
цитата
08/01/13 в 04:06
 Торин Дубощит
arma: smail54.gif я уже было пригорюнил.
цитата
08/01/13 в 11:38
 st01en
О как... Т.е., юный хакер получил рут доступ!!! на сервак и полез искать файло, в котором инклудится файл с удаленного сервака!!! Чтоб потом хакнуть и тот сервак, поменять инклудящийся файл и инклудить свой код!!! Бля, да это ж просто сценарий для очередного фильма про хакеров!!!
Ну ясно, хуле, с инклудом все понятно. А вот статью я бы хотел прочитать по поводу

Торин Дубощит писал:
И да открыв allow_url_fopen можно получить кучу другого гемороя, если интересно могу даже накатать статью


Особенно интересно, как у тебя на сиджах ротаторы работают и трейдскрипты тумбы для топлиста грабят. Также освети в статье возможность грабинга без использования file_get_content icon_cool.gif
Ждем-с.


Эта страница в полной версии