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
Ничего не понял
Куча терминов и в результате каша...
Начало вопроса еще понятно, но Не вижу ничего сложного.
/*Подключаемяс к базе*/
$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
цитата
26/06/11 в 09:07
webboxxx
PvCont:
у тебя тут SQL инъекция
цитата
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) это писец
А чего писец то ? Лям трафа на дохлом дедикейте такая схема разрулит запросто. Или мало ?
Просто тут ничего не ясно ни с числом ссылок, ни с проверками, которые в базе происходят.
цитата
27/06/11 в 20:25
PvCont
Я не совсем понимаю Это что я что ли тему открыл?
Человек спросил я ответил.
Если у кого есть другие варианты может выложить.
А то только умными словами кидаться мастера, а на деле то что?
цитата
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']);
}
Новая тема
Ответить
Эта страница в полной версии