Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Out script
цитата
06/06/11 в 23:17
 artursn
Нужна помощь по скрипту
скрипт получает входящий параметр ид, делает запрос к базе, и посылает юзера по ссылке
получается
1. через мод реврите получаем ссылку /POST/id33-title.html
2. эта ссылка ведет на out.php?id=33
3. потом с помощью location :url посылаем юзера на трейд скрипт оут по ссылке

вопрос как сделать это с минимальной нагрузкой на сервер?
цитата
06/06/11 в 23:28
 Dr.Syshalt
Ну во-первых, не лезть на каждый запрос к базе, если есть возможность достать из кэша (тот же memcached) - достать оттуда.

Во-вторых - убрать все правила из .htaccess и записать их в конфиги апача. Отключить .htaccess полностью, директивой AllowOverride none. Это уже для перфекционистов.
цитата
24/06/11 в 15:09
 PvCont
Ничего не понял icon_confused.gif Куча терминов и в результате каша...
Начало вопроса еще понятно, но Не вижу ничего сложного.

/*Подключаемяс к базе*/
$q = mysql_connect ("localhost","ЛОГИН","ПАРОЛЬ");
mysql_select_db("ИМЯ БАЗЫ",$q);

/*Проверяем наличие id по GET если получено присваиваем его переменной $id*/
if (isset($_GET['id'])) {
$id = $_GET['id'];

/*Запрашиваем LINK из таблицы links где id = нашей переменной $id*/
$rezult = mysql_query("select link from links WHERE id = '$id'");

/*Проверяем наличие данных по полученному ID*/
if($link_ar = mysql_fetch_array($rezult)){

/*Если данные есть Создаем новую переменную и заносим в нее то что получили из базы*/
$link_uzer = $link_ar['link'];

/*Отправляем Юзера по полученной ссылке*/
echo ("<script>window.location.assign('".$link_uzer."')</script> ");

}else{
/*Любой код при ошибочном параметре id по GET или отсутствии данных в базе*/
echo "Ошибочный параметр";
};

}else{
/*Любой код при отсутствии нужного параметра по GET*/
echo "Параметр не получен";
};

Я бы был уверен что можно сделать так если бы не путаница дальше в вопросе...
Получаем ссылку /POST/id33-title.html Эта ссылка ведет на out.php?id=33 icon_mad.gif
цитата
26/06/11 в 09:07
 webboxxx
PvCont: у тебя тут SQL инъекция icon_wink.gif
цитата
26/06/11 в 11:05
 PvCont
webboxxx писал:
PvCont: у тебя тут SQL инъекция

Ну я не думаю что даже в таком виде это может быть опасным. Подключение к базе можно в инклюд засунуть А переменную ID прогнать через все возможные функции и проверки вплоть до регулярных выражений). Не расписывать же все здесь
цитата
26/06/11 в 19:09
 mr. snatch
Цитата:
Ну я не думаю что даже в таком виде это может быть опасным.

бро, очень даже может) Тебе никогда не приходилось видеть шеллы залитые из-за отсутствия фильтрации http_referer ?

по сабжу: без кэша (тот же memcached) это писец
цитата
27/06/11 в 13:28
 artursn
Видел на одном блге где-то сравнение классов..там было написано что PDO_MySQL самый лучший вариант по времени выполнение и по безопасности. Правда ли это?
а чем вариант
echo ("<script>window.location.assign('".$link_uzer."')</script> ");
отличается от варианта
header("Location: $url");
цитата
27/06/11 в 18:09
 Stek
mr. snatch писал:
по сабжу: без кэша (тот же memcached) это писец

А чего писец то ? Лям трафа на дохлом дедикейте такая схема разрулит запросто. Или мало ? icon_smile.gif
Просто тут ничего не ясно ни с числом ссылок, ни с проверками, которые в базе происходят.
цитата
27/06/11 в 20:25
 PvCont
Я не совсем понимаю Это что я что ли тему открыл?
Человек спросил я ответил.
Если у кого есть другие варианты может выложить.
А то только умными словами кидаться мастера, а на деле то что? smail08.gif
цитата
28/06/11 в 14:47
 samedi
PvCont писал:
Если у кого есть другие варианты может выложить.

Код:
<?php

$links = unserialize(file_get_contents('links'));
if (isset($_GET['id']) && !empty($_GET['id']) && isset($links[$_GET['id']])) {
    header('Location: ' . $links[$_GET['id']]);
} else {
    header('Location: ' . $links['default']);
}


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