[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отправка AJAX`ом названия поля или таблицы
GET
Привет, есть возможность ускорить запрос, тем, что не формировать название поля в обработчике т.е. отправить название поля GET пвраметром (или вообще название таблицы, smile.gif ), вот не могу предумать, как это может повредить?

В смысле если все обработано (int) и real_escape + отключен показ ошибок (когда злодей отправит несуществующее имя таблицы или поля), как может еще навредить?

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Valick
ABC, он легко подберет существующее.
да и инъекция в имя таблицы на ура пройдет


_____________
Стимулятор ~yoomoney - 41001303250491
GET
Valick

нет ну ..+ запрет на запрещенные символы конечно, просто забыл дописать
$a=(int)$_GET['a'];
$name=$_GET['name'];
$tab=$_GET['tab'];

if(preg_match("#[a-z]{1,10}$#ui",$tab))
{
$sql=mysql::query("SELECT `field` FROM `tab_$tab` WHERE `id`='$a' AND `name`='".mysql::real_escape_string($name)."'");
}


_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Valick
ABC, мне просто интересно каким таким образом повышается скорость?
и еще интереснее что с результирующими полями выборки и их обработкой?

_____________
Стимулятор ~yoomoney - 41001303250491
GET
Valick

Цитата
что с результирующими полями выборки и их обработкой?


ну не совсем понял, есть строки -> обрабатываем, как обычно.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
sergeiss
И я тоже не понял, каким образом ускорится обработка, если ты передашь сразу нужное имя столбца или таблицы?
В чем принципиальная разница в обработке между "правильным" именем таблицы
$tab=$_GET['tab'];

и "неправильным"
$real_tab=$_GET['tab'];

Где ты тут выиграешь хотя бы одну наносекунду?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
GET
Да изначально неправильно спросил...

Цитата
Где ты тут выиграешь хотя бы одну наносекунду?


Я имел ввиду другое, имя таблицы я могу получить, напримир из списка таблиц другой таблицы. А могу стразу отправить запросом. Вот и пишу, что будет если вместо правильного запроса придет имя несуществующей таблицы или поля. То, что все будет зачищено от инъекций, как бы само собой. Вопрос только в этом:
Цитата
+ отключен показ ошибок (когда злодей отправит несуществующее имя таблицы или поля), как может еще навредить


_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Invis1ble
ну будут у тебя логи засираться + лишняя нагрузка на http-сервер и СУБД в виде заведомо ошибочных запросов

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

GET
Цитата
ну будут у тебя логи засираться + лишняя нагрузка на http-сервер и СУБД в виде заведомо ошибочных запросов


Да...


Всем огромное спасибо. Глупость иногда тоже бывает полезной. smile.gif

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
exotica
А разве имя таблицы вообще возможно подставить как переменную в запрос??
$query ="SELECT * FROM $table WHERE...";

вроде нет же?


_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
Invis1ble
Цитата
вроде нет же?
exotica
Цитата
чё это? это обычная строка

тогда назревает вопрос.

Что нельзя поместить в запрос в виде переменной или константы ?

потому что точно помню что я на этом окарался

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
andrey888
Цитата
тогда назревает вопрос.

Что нельзя поместить в запрос в виде переменной или константы ?

потому что точно помню что я на этом окарался

Рассуждая логически
1) То чего не существует в Бд (поле, таблица)
2) Boolean
3) Пустую строку или NULL
Остальное идет как обычная строка... smile.gif

_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.