- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
<?php
require_once ("db.php");
$region = $_POST["region"];
$array = mysql_query ("SELECT * FROM city WHERE region = '$region'");
echo "<option value=\"\">Выберете город</option>";
while ($m = mysql_fetch_array($array)){
echo "<option value=\"".$m["alias"]."\" id=\"".$m["id"]."\">".$m["title"]."</option>";
}
bot 19.09.2013 20:50 # +9
desu 20.09.2013 00:54 # 0
bormand 20.09.2013 05:36 # 0
Не бойся, мы аккуратно. Всего лишь пара-тройка транзакций добавится...
guest8 10.04.2019 22:16 # −999
rdifb0 19.09.2013 23:48 # 0
crastinus 20.09.2013 07:07 # −4
defecate-plusplus 20.09.2013 07:51 # +3
[:]||||||||[:]
crastinus 20.09.2013 08:30 # −4
SELECT * FROM tab where region = 'region' DELETE FROM tab WHERE 1=1;
не проканывают))
crastinus 20.09.2013 08:34 # −4
SELECT * FROM tab where region = 'region'; DELETE FROM tab WHERE 1=1;
bormand 20.09.2013 08:41 # +5
P.S. Эксплойты с DELETE FROM и DROP - для малолетних дебилов. Зачем срать там, где можно покушать? :)
crastinus 20.09.2013 08:57 # −6
Если нужно специально выполнить 2 запроса, то используются транзакции, аля
START TRANSACTION
SELECT ...
SELECT ..
INSERT ..
....
COMMIT;
В такую хрень, и правда можно говна насувать.
bormand 20.09.2013 08:58 # +5
Сфига? Это ж безобидная конструкция ;)
> два запроса выполняются, хотя не должны
Ну вроде как отключены были по дефолту, и кидался экцепшон, если попытаться соединить два запроса через ";"... значит я туплю.
> используются транзакции
У тех, кто подставляет данные из запросов без фильтрации и экранировки, они всяко не используются.
crastinus 20.09.2013 09:14 # −1
Такие операции запрещает safe update mode
>Ну вроде как отключены были по дефолту, и кидался экцепшон, если попытаться соединить два запроса через ";"
Тоже удивился. Может настройки БД. Проверял в дефолтной Maria DB 5.5.
Lowezar 20.09.2013 09:50 # +1
Ну и как ниже написали, дропы/делиты нахрен не нужны. :) Юнион намного интересней.
А про safe update... Честно говоря не видел ни одного +- сложного проекта, где он был бы включен. Часто бывает нужно проапдейтить несколько таблиц сразу склеенных специфическими джоинами, и никто не хочет заморачиваться промежуточным получением PRIMARY KEY. :)
crastinus 20.09.2013 10:01 # 0
Lowezar 20.09.2013 10:37 # +2
bormand 20.09.2013 10:41 # +2
guest8 10.04.2019 22:16 # −999
wvxvw 20.09.2013 11:29 # +2
Имена полей в таблице строятся по принципу:
либо имя инпута в ХТМЛ форме,
либо имя инпут в ХТМЛ форме + название таблицы.
Инфа 99%.
Кроме того, можно же сначала просто к системной таблице обратиться, где записана инфа о таблицах / колонках. С вероятностью 99% в первом селекте будет звездочка, тогда во втором селекте нам нужно будет только угадать количество колонок в исходной таблице, а не их имена ;)
crastinus 20.09.2013 12:13 # 0
Да все верно. Чет затупил :))
DBdev 20.09.2013 12:54 # 0
Еще проще сценарий. Начинаешь с:
SELECT ... UNION ALL SELECT 1 -> fail
SELECT ... UNION ALL SELECT 1,1 -> fail
SELECT ... UNION ALL SELECT 1,1,1 -> fail
...
и так пока не выполнится
crastinus 20.09.2013 12:14 # 0
DBdev 20.09.2013 12:51 # +1
WAT?
crastinus 20.09.2013 14:15 # 0
DBdev 20.09.2013 14:41 # 0
Если обернуть несколько команд в блок BEGIN TRANSACTION .... COMMIT от этого они не станут одной командой.
Единственное, от чего избавит транзакция - от IMPLICIT TRANSACTION на каждую команду.
defecate-plusplus 20.09.2013 14:52 # +2
DBdev 20.09.2013 15:31 # 0
О всех плюшках транзакций и ACID сейчас речи не идёт...
crastinus 20.09.2013 15:59 # 0
так и задумывалось))
Хотя выбрать и сразу обновить строки(в транзакции) будет говном или нет?
DBdev 20.09.2013 16:17 # +3
Для некоторых бизнес-сценариев вполне допустимо такое.
wvxvw 20.09.2013 09:33 # +1
bormand 20.09.2013 09:45 # +2
Все от цели атакующего зависит. Если подергать какие-то поля - то да, можно подзапрос или union. Если надо insert или update - увы.
bormand 20.09.2013 08:53 # +3
Vindicar 22.09.2013 12:08 # 0
admin'; --
bormand 22.09.2013 14:18 # 0
anonimb84a2f6fd141 23.09.2013 10:08 # 0
bormand 23.09.2013 10:20 # 0
anonimb84a2f6fd141 03.10.2013 19:18 # 0
anonimb84a2f6fd141 22.09.2013 11:53 # −3
anonimb84a2f6fd141 23.09.2013 10:08 # −2
bormand 23.09.2013 10:23 # +1
crastinus 20.09.2013 07:09 # −4
straga_coda 20.09.2013 08:32 # 0
bormand 20.09.2013 08:38 # +1
И для тех переменных, которые уйдут в базу методом, аналогичным описанному в топике, тоже? :)
straga_coda 20.09.2013 19:19 # 0
Vindicar 22.09.2013 12:08 # +2
Lure Of Chaos 21.09.2013 00:39 # +4
а вот как делать лучше всего:
1. полагаем суперглобалы рид-онли, т.к. мало ли кому еще понадобятся "сырые" данные
2. не сразу, а по мере надобности, считывая, проверяем данные, не изменяя их - и при несоответствии кидаем ошибку. при этом проверяем не злой умысел, а здравый смысл (не пусто, число ли. если это текст, то уголки рано убирать).
3. фильтруем данные каждый раз при записи, причем характер фильтрации зависит от назначения, т.е. убираем теги только при печати, в бд теги остаются (исключение - промежуточный кэш)
bot 21.09.2013 01:10 # +1
straga_coda 21.09.2013 16:37 # −2
crastinus 21.09.2013 10:46 # +6
Сразу сообщил об этом администратору и не стал пользоваться этой фичей. Затем ушел в армию и за это время мой аккаунт был удален тем пидорасом. Когда хотел перерегистрироваться сайт просил зачислить на счет 500р.
govnomonad 22.09.2013 09:37 # +3
crastinus 22.09.2013 11:58 # +1
anonimb84a2f6fd141 22.09.2013 11:51 # −2
crastinus 22.09.2013 12:01 # −1
anonimb84a2f6fd141 23.09.2013 02:21 # 0
> Суть сайта - люди скидываются деньгами один покупает книгу, сканирует ее и выкладывает.
Так и думал, что не поймешь.
crastinus 23.09.2013 06:12 # 0
bormand 23.09.2013 06:32 # +1
crastinus 23.09.2013 07:00 # 0
anonimb84a2f6fd141 23.09.2013 10:07 # −2
bormand 23.09.2013 10:27 # 0
anonimb84a2f6fd141 23.09.2013 11:28 # 0
bormand 23.09.2013 13:32 # +2
В то же время почти любая художественная книжка, которую я искал, на флибусте была. Ну а техническую литературу приходится искать в других местах. С ней запрос "%name% pdf" или "%name% djvu" обычно вполне прокатывает.
anonimb84a2f6fd141 24.09.2013 09:42 # 0
Кстати, есть сайты, где совместными усилиями книжки в ебуки перегоняют? В одиночку влом и тем более влом потом этим делиться с людьми, не принимавшими участвия.
guest 21.09.2013 14:25 # −14
guest8 09.04.2019 18:18 # −999
guest8 09.04.2019 18:18 # −999
guest8 09.04.2019 18:18 # −999
guest8 09.04.2019 18:18 # −999
guest8 09.04.2019 18:19 # −999
guest8 10.04.2019 16:52 # −999
guest8 10.04.2019 16:53 # −999
guest8 10.04.2019 16:53 # −999
guest8 10.04.2019 16:54 # −999
guest8 10.04.2019 16:54 # −999
guest8 10.04.2019 16:55 # −999
guest8 10.04.2019 16:56 # −999
guest8 10.04.2019 16:58 # −999
guest8 10.04.2019 17:00 # −999
bormand 10.04.2019 17:31 # 0
cmepmop 10.04.2019 17:47 # +1
PACTPOBblu_nemyx 10.04.2019 21:45 # 0
guest8 10.04.2019 17:00 # −999
guest8 10.04.2019 17:01 # −999
guest8 10.04.2019 17:02 # −999
guest8 10.04.2019 17:11 # −999
guest8 10.04.2019 17:11 # −999
guest8 10.04.2019 17:12 # −999
guest8 10.04.2019 17:12 # −999
guest8 10.04.2019 17:13 # −999
guest8 10.04.2019 17:13 # −999
guest8 10.04.2019 17:13 # −999
guest8 10.04.2019 17:14 # −999
guest8 10.04.2019 17:14 # −999
guest8 10.04.2019 17:15 # −999
guest8 10.04.2019 17:15 # −999
guest8 10.04.2019 17:15 # −999
guest8 10.04.2019 17:15 # −999
guest8 10.04.2019 17:16 # −999
guest8 10.04.2019 17:16 # −999
guest8 10.04.2019 17:16 # −999
guest8 10.04.2019 17:16 # −999
guest8 10.04.2019 17:17 # −999
guest8 10.04.2019 17:18 # −999
guest8 10.04.2019 17:18 # −999
guest8 10.04.2019 17:18 # −999
guest8 10.04.2019 17:18 # −999
guest8 10.04.2019 17:18 # −999
guest8 10.04.2019 17:19 # −999
guest8 10.04.2019 17:19 # −999
guest8 10.04.2019 17:19 # −999
guest8 10.04.2019 17:19 # −999
guest8 10.04.2019 17:20 # −999
guest8 10.04.2019 17:20 # −999
guest8 10.04.2019 17:20 # −999
guest8 10.04.2019 17:20 # −999
guest8 10.04.2019 17:20 # −999
guest8 10.04.2019 17:21 # −999
guest8 10.04.2019 18:08 # −999
guest8 10.04.2019 18:08 # −999
guest8 10.04.2019 18:08 # −999
guest8 10.04.2019 18:09 # −999
guest8 10.04.2019 18:09 # −999
guest8 10.04.2019 18:09 # −999
guest8 10.04.2019 18:09 # −999
guest8 10.04.2019 18:09 # −999
guest8 10.04.2019 18:10 # −999
guest8 10.04.2019 18:10 # −999
guest8 10.04.2019 18:10 # −999
guest8 10.04.2019 18:10 # −999
guest8 10.04.2019 18:10 # −999
guest8 10.04.2019 18:11 # −999
guest8 10.04.2019 18:11 # −999
guest8 10.04.2019 18:11 # −999
guest8 10.04.2019 18:11 # −999
guest8 10.04.2019 18:12 # −999
guest8 10.04.2019 18:12 # −999
guest8 10.04.2019 18:12 # −999
guest8 10.04.2019 18:12 # −999
guest8 10.04.2019 18:12 # −999
guest8 10.04.2019 18:13 # −999
guest8 10.04.2019 18:13 # −999
guest8 10.04.2019 18:13 # −999
guest8 10.04.2019 18:13 # −999
guest8 10.04.2019 18:13 # −999
guest8 10.04.2019 18:14 # −999
guest8 10.04.2019 18:14 # −999
guest8 10.04.2019 18:14 # −999
guest8 10.04.2019 18:14 # −999
guest8 10.04.2019 18:14 # −999
guest8 10.04.2019 18:15 # −999
guest8 10.04.2019 18:15 # −999
guest8 10.04.2019 18:15 # −999
guest8 10.04.2019 18:15 # −999
guest8 10.04.2019 18:16 # −999
guest8 10.04.2019 18:16 # −999
guest8 10.04.2019 18:16 # −999
guest8 10.04.2019 18:20 # −999
guest8 10.04.2019 18:43 # −999
guest8 10.04.2019 18:44 # −999
guest8 10.04.2019 18:44 # −999
guest8 10.04.2019 18:44 # −999
guest8 10.04.2019 18:45 # −999
guest8 10.04.2019 18:45 # −999
guest8 10.04.2019 18:45 # −999
guest8 10.04.2019 18:46 # −999
guest8 10.04.2019 18:46 # −999
guest8 10.04.2019 18:46 # −999
guest8 10.04.2019 18:47 # −999
guest8 10.04.2019 18:47 # −999
guest8 10.04.2019 18:47 # −999
guest8 10.04.2019 18:48 # −999
guest8 10.04.2019 18:48 # −999
guest8 10.04.2019 18:48 # −999
guest8 10.04.2019 18:48 # −999
guest8 10.04.2019 18:49 # −999
guest8 10.04.2019 18:49 # −999
guest8 10.04.2019 18:49 # −999
guest8 10.04.2019 18:49 # −999
guest8 10.04.2019 18:50 # −999
guest8 10.04.2019 18:50 # −999
guest8 10.04.2019 18:50 # −999
guest8 10.04.2019 18:50 # −999
guest8 10.04.2019 18:50 # −999
guest8 10.04.2019 18:51 # −999
guest8 10.04.2019 18:51 # −999
guest8 10.04.2019 18:51 # −999
guest8 10.04.2019 18:51 # −999
guest8 10.04.2019 18:52 # −999
guest8 10.04.2019 18:52 # −999
guest8 10.04.2019 18:52 # −999
guest8 10.04.2019 18:52 # −999
guest8 10.04.2019 18:53 # −999
guest8 10.04.2019 18:53 # −999
guest8 10.04.2019 18:53 # −999
guest8 10.04.2019 18:53 # −999
guest8 10.04.2019 18:54 # −999
guest8 10.04.2019 18:54 # −999
guest8 10.04.2019 19:32 # −999
guest8 10.04.2019 19:32 # −999
guest8 10.04.2019 19:32 # −999
guest8 10.04.2019 19:33 # −999
guest8 10.04.2019 19:33 # −999
guest8 10.04.2019 19:33 # −999
guest8 10.04.2019 19:34 # −999
guest8 10.04.2019 19:34 # −999
guest8 10.04.2019 19:34 # −999
guest8 10.04.2019 19:35 # −999
guest8 10.04.2019 19:35 # −999
guest8 10.04.2019 19:36 # −999
guest8 10.04.2019 19:36 # −999
guest8 10.04.2019 19:36 # −999
guest8 10.04.2019 19:37 # −999
guest8 10.04.2019 19:37 # −999
guest8 10.04.2019 19:37 # −999
guest8 10.04.2019 19:38 # −999
guest8 10.04.2019 19:38 # −999
guest8 10.04.2019 19:38 # −999
guest8 10.04.2019 19:38 # −999
guest8 10.04.2019 19:39 # −999
guest8 10.04.2019 19:39 # −999
guest8 10.04.2019 19:39 # −999
guest8 10.04.2019 19:39 # −999
guest8 10.04.2019 19:40 # −999
guest8 10.04.2019 21:34 # −999
guest8 10.04.2019 21:34 # −999
guest8 10.04.2019 21:34 # −999
guest8 10.04.2019 21:35 # −999
guest8 10.04.2019 21:35 # −999
guest8 10.04.2019 21:35 # −999
guest8 10.04.2019 21:35 # −999
guest8 10.04.2019 21:35 # −999
guest8 10.04.2019 21:35 # −999
guest8 10.04.2019 21:36 # −999
guest8 10.04.2019 21:36 # −999
guest8 10.04.2019 21:36 # −999
guest8 10.04.2019 21:36 # −999
guest8 10.04.2019 21:36 # −999
guest8 10.04.2019 21:36 # −999
fuckyou 10.04.2019 21:38 # −102
guest8 10.04.2019 22:01 # −999
guest8 10.04.2019 22:02 # −999
guest8 10.04.2019 22:03 # −999
PACTPOBblu_nemyx 11.04.2019 05:30 # 0
guest8 10.04.2019 22:03 # −999
guest8 10.04.2019 22:17 # −999
guest8 10.04.2019 22:19 # −999
guest8 10.04.2019 22:21 # −999
guest8 10.04.2019 22:22 # −999
guest8 10.04.2019 22:24 # −999