[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Люди помогите
modin73
люди помогите! Прошу помощи у гуру PHP.
Есть таблица mysql, в ней поля.
Создаю форму, в которой при помощи кнопок RADIO вывожу нужную информацию из таблицы.
Делаю запрос. Но в этом запросе вывожу не все поля. Вывод делаю циклом do while.
Все выводится прекрасно.
затем хочу Вывести значения другого поля. Тут то и начинается чертовщина.
То выводятся первое значения, где id=1, то первыя буква названия товара.
прошу помощи в решении отой проблемы. Можно сюда - email: modin73@list.ru
<?php // вытаскиваем бортик
$result_k = mysql_query ("SELECT id, name_k, img_k, price_k FROM edge ",$db);
if (!$result_k) {exit ('Ошибка базы данных');}
if (mysql_num_rows ($result_k) > 0)
{$myrow_k = mysql_fetch_assoc($result_k);}
else
{exit ('<p>Информация по запросу не может быть извлечена, в таблице нет записей. </p>');}
do{
printf ("<input name='mod' type='radio' value='%s'><label for='%s'>%s<img src='%s' width='70' height='35'></label>", $myrow_k['name_k'], $myrow_k['name_k'],$myrow_k['name_k'],$myrow_k['img_k']);
}
while ($myrow_k = mysql_fetch_assoc($result_k));
?>
<?=
$myrow_k['price_k'];?>




Спустя 4 минуты, 13 секунд (2.10.2012 - 21:24) Игорь_Vasinsky написал(а):
1. давай топику адекватное название
2. код выделяй bb-тегами

Спустя 3 минуты, 53 секунды (2.10.2012 - 21:28) Skadmit написал(а):
$query = "
SELECT
`id`, `name_k`, `img_k`, `price_k`
FROM `edge`"
;
$sql = mysql_query($query, $db) or die(mysql_error());
while ( $row = mysql_fetch_assoc($sql) )
echo '
<input name="mod" type="radio" value="'
.htmlspecialchars(stripslashes($row['name_k'])).'" id="'.htmlspecialchars(stripslashes($row['name_k'])).'">
<label for="'
.htmlspecialchars(stripslashes($row['name_k'])).'">
'
.stripslashes($row['name_k']).'
<img src="'
.htmlspecialchars(stripslashes($row['img_k'])).'" width="70" height="35">
</label>'
;
mysql_free_result($sql);


Выкинь свой учебник PHP

Спустя 2 минуты, 54 секунды (2.10.2012 - 21:31) Игорь_Vasinsky написал(а):
это не учебник, это учитель Попов Женя
у тя тож косячков порядком.

Спустя 49 секунд (2.10.2012 - 21:32) Skadmit написал(а):
Игорь_Vasinsky
Например? Выдели кусок кода с косяком

Спустя 5 минут (2.10.2012 - 21:37) Игорь_Vasinsky написал(а):
Цитата
or die(mysql_error());

ты выводишь ошибки юзеру. а этого делать не нужно, достаточно в процессе отладки мониторить. а так - пиши в логи.

Цитата
htmlspecialchars(stripslashes

ты даже не вкурсе в каком виде данные в БД, но уже рекомендуешь юзать по 2 штатных функции при выводе, причём на каждую летящую переменную из БД, даже int

да и потом, так хорошо разбираясь в учебниках, мог бы уж дать совет юзеру - плавно переходить на PDO или mysqli, т.к. - ты сам знаешь что не так далеко произойдёт с mysql

Цитата
mysql_free_result($sql);

да, но не обязательно в конкретном примере.


Спустя 2 минуты, 32 секунды (2.10.2012 - 21:40) Skadmit написал(а):
Игорь_Vasinsky
Ясно все с тобой... smile.gif Удачи тебе в твоих последующих проектах. smile.gif

Спустя 4 минуты (2.10.2012 - 21:44) Игорь_Vasinsky написал(а):
ага.спс. я просто 2й топик подряд заметил - где ты хаешь учебники, но опускаешь человеческий фактор.

Спустя 6 минут, 21 секунда (2.10.2012 - 21:50) Skadmit написал(а):
Игорь_Vasinsky
Кстати, тебе бы тоже не помешало сменить учебник.

Спустя 5 минут, 15 секунд (2.10.2012 - 21:55) Игорь_Vasinsky написал(а):
какой? http://php.net/ ? что посоветуешь? и откуда такое предложение? исходя из чего?

Спустя 2 минуты, 35 секунд (2.10.2012 - 21:58) inpost написал(а):
Skadmit
Каждый 100 программист считает себя программистом и желает что-то познавать, остальные 99 считают себя умнее остальных... как печально видеть всё это! Тебе нормальные замечания сделали, а ты огрызаешься.

modin73
О каком do-while идёт речь? Где он в коде? ты выбираешь первую запись из ресурса, и её выводишь, понятное дело, что это было id=1.

Спустя 18 минут, 12 секунд (2.10.2012 - 22:16) Skadmit написал(а):
inpost
В таком случае, я отношусь к числу каждых 100 программистов.
Исходя из логики, легко можно понять, что столбец name_k это string-значение, которое может содержать кавычки и дает возможность sql-инъекции, если таковое тебе знакомо. А значит, что ты его в БД будешь записывать через mysql_real_escape_string, а при выводе из БД будешь использовать stripslashes. А если ты не хочешь, чтобы твои формы поплыли*, то ты обязательно используешь htmlspecialchars.

* - не в смысле дизайна поплыли, как это бывает у криворуких дизайнеров, а в том смысле, что если вы в html-код (например input value="xxx") загрузите значение с двойными кавычками, вас будет ждать неприятный сюрприз.

Спустя 13 минут, 3 секунды (2.10.2012 - 22:29) m4a1fox написал(а):
Skadmit
Как задолбало школололо.........

Спустя 1 минута, 12 секунд (2.10.2012 - 22:30) Игорь_Vasinsky написал(а):
зато приятно наверн себя ясновидящим считать.

Спустя 1 минута, 44 секунды (2.10.2012 - 22:32) Skadmit написал(а):
m4a1fox
Это камень не в мой ли огород? Или ты о тех товарищах, что дают мне "дельные" советы?

Спустя 20 секунд (2.10.2012 - 22:32) m4a1fox написал(а):
Игорь_Vasinsky
Не знаю кем он себя считает... да и как бы все равно. Интересно наблюдать за такими. smile.gif На форуме 1 день, а права качает так, будто для него это уже не первый год....

Спустя 1 минута, 25 секунд (2.10.2012 - 22:34) m4a1fox написал(а):
Skadmit
Цитата
Это камень не в мой ли огород? Или ты о тех товарищах, что дают мне "дельные" советы?

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

Фразу "Как задолбало школололо........." нужно было читать - "Как задолбало школололо... такое как Skadmit "

Спустя 45 секунд (2.10.2012 - 22:34) m4a1fox написал(а):
А теперь - холиввввввввввввввввввввввар. Начинай - Skadmit!

Спустя 3 минуты, 26 секунд (2.10.2012 - 22:38) Skadmit написал(а):
m4a1fox
У вас принято считать каждого, кто первый день на форуме "школоло"? Забавная традиция. С точки зрения психологии - это шанс выразить свое эго для школьников, которые сидят на форуме больше, чем 1 день и потешить свой юношеский максимализм )))

Спустя 4 минуты, 55 секунд (2.10.2012 - 22:43) m4a1fox написал(а):
Skadmit
На секунду - школоло - это форма мышления... а не школьник.

Спустя 2 минуты, 1 секунда (2.10.2012 - 22:45) Skadmit написал(а):
m4a1fox
Ну тебе виднее, наверное.

Спустя 26 минут, 22 секунды (2.10.2012 - 23:11) Игорь_Vasinsky написал(а):
ты к нам с какого форума?

Спустя 5 минут, 57 секунд (2.10.2012 - 23:17) Skadmit написал(а):
Игорь_Vasinsky
Я к вам из реального мира. Такой существует и вы можете его увидеть если выгляните хотя бы разок из дома ))

Спустя 2 минуты, 43 секунды (2.10.2012 - 23:20) killer8080 написал(а):
Цитата (Skadmit @ 2.10.2012 - 22:16)
А значит, что ты его в БД будешь записывать через mysql_real_escape_string, а при выводе из БД будешь использовать stripslashes.

И где связь? На кой тут stripslashes?
Цитата (Skadmit @ 2.10.2012 - 22:16)
Исходя из логики, легко можно понять, что столбец name_k это string-значение, которое может содержать кавычки и дает возможность sql-инъекции, если таковое тебе знакомо.

Эти данные достаются из бд, о какой инъекции идет речь?

Спустя 1 минута, 15 секунд (2.10.2012 - 23:21) Игорь_Vasinsky написал(а):
Skadmit
слышь умник, ты по форуму пробигись, посмотри что да как - прежде чем себя умнее и веселее других показывать.

Спустя 2 минуты, 19 секунд (2.10.2012 - 23:23) inpost написал(а):
Skadmit
stripslashes использовать надо только в том случае, если магические кавычки включены, и обрабатывать на уровне ядра в момент занесения данных в БД.
При выводе достаточно только htmlspecialchars, тут уж точно stripslashes не надо использовать! Только такой вариант наиболее правильный, а не пихать и искажать данные "на всякий случай".
Создавать переменную с запросом тоже плохой тон, если ты ею после не будешь пользоваться, хотя бы: or die(mysql_error().' : '.$query); - в таком виде.
Работая с одной БД тебе нет необходимости передавать идентификатор БД.
А с label можно так:
<label><input type="checkbox"> TEXT</label>

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

Спустя 6 минут, 52 секунды (2.10.2012 - 23:30) Guest написал(а):
Цитата
killer8080
Эти данные достаются из бд, о какой инъекции идет речь?

Лучше не надо, не делайте из себя глупого?
Строковая данная, да ещё и от пользователя. То что из БД в этом моменте это и ежу понятно, как она туда попадает вот в этом вопрос.
А вообще парень дал нормальный, не развёрнутый ответ. Указал на ключевые недостатки и возможные пути к безопасности. Хочу указать, что большинство здесь даёт не развёрнутые ответы, так что нужно было указать логирование и вплоть до создания функции, включающую в себя обработки строкового параметра для вывода, всё это касается всех тогда на этом форуме.
По поводу "стариковства" Skadmit, не переживай, здесь сами некоторы модераторы страдают манией величия, не то что пользователи.

Спустя (2.10.2012 - 23:30) Skadmit написал(а):
Цитата (killer8080 @ 2.10.2012 - 23:20)
Цитата (Skadmit @ 2.10.2012 - 22:16)
А значит, что ты его в БД будешь записывать через mysql_real_escape_string, а при выводе из БД будешь использовать stripslashes.

И где связь? На кой тут stripslashes?

Почитай тут, потом тут.

Цитата (killer8080 @ 2.10.2012 - 23:20)
Цитата (Skadmit @ 2.10.2012 - 22:16)
Исходя из логики, легко можно понять, что столбец name_k это string-значение, которое может содержать кавычки и дает возможность sql-инъекции, если таковое тебе знакомо.

Эти данные достаются из бд, о какой инъекции идет речь?

А в БД они силой мысли попадают?

Спустя 1 минута, 51 секунда (2.10.2012 - 23:32) Guest написал(а):
Цитата
inpost
и обрабатывать на уровне ядра в момент занесения данных в БД.

Ещё один умник smile.gif
функция удаления слэша, а не добавления его

Спустя 1 минута, 45 секунд (2.10.2012 - 23:34) Игорь_Vasinsky написал(а):
ты перечитай ещё раз их посты.
читай каждую строчку.

Спустя 24 секунды (2.10.2012 - 23:34) Skadmit написал(а):
Цитата (inpost @ 2.10.2012 - 23:23)
stripslashes использовать надо только в том случае, если магические кавычки включены, и обрабатывать на уровне ядра в момент занесения данных в БД.
При выводе достаточно только htmlspecialchars, тут уж точно stripslashes не надо использовать!

Ты не про директиву magic-quotes-gpc ли говоришь? Во-первых, не каждый сервер тебе позволит это сделать, а во-вторых - следи за обновлениями!

Спустя 3 минуты, 34 секунды (2.10.2012 - 23:38) Skadmit написал(а):
Цитата (Игорь_Vasinsky @ 2.10.2012 - 23:21)
слышь умник, ты по форуму пробигись, посмотри что да как - прежде чем себя умнее и веселее других показывать.

Укажи на что именно мне сделать акцент? Пока умник это ты, который решил прокомментировать мой ответ, адресованный автору темы.

Спустя 34 секунды (2.10.2012 - 23:38) killer8080 написал(а):
Цитата (Guest @ 2.10.2012 - 23:30)
Лучше не надо, не делайте из себя глупого?
Строковая данная, да ещё и от пользователя. То что из БД в этом моменте это и ежу понятно, как она туда попадает вот в этом вопрос.

Не делайте из себя умного, если нечего сказать по существу.
Цитата (Skadmit @ 2.10.2012 - 23:30)
Цитата (killer8080 @ 2.10.2012 - 23:20)
Цитата (Skadmit @ 2.10.2012 - 22:16)
А значит, что ты его в БД будешь записывать через mysql_real_escape_string, а при выводе из БД будешь использовать stripslashes.

И где связь? На кой тут stripslashes?


Почитай тут, потом тут.

Не надо меня тыкать в мануал, как работают эти функции мне известно, а вот вам похоже нет.
Цитата (Skadmit @ 2.10.2012 - 23:30)
Цитата (killer8080 @ 2.10.2012 - 23:20)
Цитата (Skadmit @ 2.10.2012 - 22:16)
Исходя из логики, легко можно понять, что столбец name_k это string-значение, которое может содержать кавычки и дает возможность sql-инъекции, если таковое тебе знакомо.

Эти данные достаются из бд, о какой инъекции идет речь?


А в БД они силой мысли попадают?

Повторю вопрос о каком виде инъекции идет речь?

Спустя 3 минуты, 7 секунд (2.10.2012 - 23:42) Skadmit написал(а):
Цитата (killer8080 @ 2.10.2012 - 23:38)
Не надо меня тыкать в мануал, как работают эти функции мне известно, а вот вам похоже нет.

А на всякий случай перечитал бы еще раз....

Спустя 15 секунд (2.10.2012 - 23:42) Guest написал(а):
Мда, вот что делает PDO и другие драйверы, люди забывают обычный ход записи и вывода информации с учётом внедрения SQL инъекции.
ЫЙД инъекция->mysql_escape_string->запись в БД->вывод из БД->удаление добавленных слэшей ф-ией mysql_escape_string - stripslashes()->вывод в браузер

Спустя 1 минута, 26 секунд (2.10.2012 - 23:43) Skadmit написал(а):
Цитата (killer8080 @ 2.10.2012 - 23:38)
Повторю вопрос о каком виде инъекции идет речь?

Ну почитай тут, что ли...

Спустя 1 минута (2.10.2012 - 23:44) Skadmit написал(а):
Guest
Приятно видеть адекватно рассуждающих людей smile.gif

Спустя 1 минута, 45 секунд (2.10.2012 - 23:46) killer8080 написал(а):
Цитата (Guest @ 2.10.2012 - 23:42)
Мда, вот что делает PDO и другие драйверы, люди забывают обычный ход записи и вывода информации с учётом внедрения SQL инъекции.

SQL инъекции происходят при вводе данных в бд, путем искажения запроса, но никак не при выводе wink.gif
Цитата (Guest @ 2.10.2012 - 23:42)
ЫЙД инъекция->mysql_escape_string->запись в БД->вывод из БД->удаление добавленных слэшей ф-ией

удаление каких слешей откуда им там взяться?

Спустя 17 секунд (2.10.2012 - 23:46) Игорь_Vasinsky написал(а):
Skadmit
да ты во-первых - помагаешь ТС наплевать на безопасность
2 - не рационально расходуешь ресурсы.


Киллер, он походу того, это.. как там.. ну ты понял.

Guest
laugh.gif те на сам деле удобней хранить кучу слешей в БД, а не проверить magic quotes и в случае чего стрипслешить - удаляя повторное экранирование (после mysqkl_real_escape_string) - до записи исковерканных данных в БД ??

т.е. ты считаешь рацианально хранить в БД кучи мусора - которые тебе ни в БД, ни на выводе не пригодяться?

в этом твой успех?

Спустя 3 минуты, 6 секунд (2.10.2012 - 23:49) killer8080 написал(а):
Игорь_Vasinsky
похоже у нас троли завелись biggrin.gif

Спустя 2 минуты, 20 секунд (2.10.2012 - 23:52) Игорь_Vasinsky написал(а):
нет. ну точно с какого то форума - алгоритм у них один.
или он сам раздвоился - глянь его.

им расжёвывают - они специально не видят оптимальность и жуют своё. для чего?

Спустя 1 минута, 27 секунд (2.10.2012 - 23:53) Skadmit написал(а):
Цитата (Игорь_Vasinsky @ 2.10.2012 - 23:46)
да ты во-первых - помагаешь ТС наплевать на безопасность

Это в каком таком моменте?...
Цитата (Игорь_Vasinsky @ 2.10.2012 - 23:46)
2 - не рационально расходуешь ресурсы.

Нерационально? ... Перечитай еще раз последовательно: первое второе третье четвертое пятое

Спустя 9 секунд (2.10.2012 - 23:53) YVSIK написал(а):
ого! да)) ну надо-же) давненько я тут не видывал подобного))
и что значит сие творчество ТС?
значЬ так,Skadmit ты дело говори а не спорь попусту))
так и не понял про что ты говоришь , ты спрашиваешь или отвечаешь, цель твоего визита ТУТ? вообще причем тут ты? это твой топик?Skadmit
по моему самое времечко для бана Skadmit wink.gif

Спустя 29 секунд (2.10.2012 - 23:54) killer8080 написал(а):
Цитата (Игорь_Vasinsky @ 2.10.2012 - 23:52)
или он сам раздвоился - глянь его.

да не похоже, но фиг их знает smile.gif

Спустя 2 минуты, 3 секунды (2.10.2012 - 23:56) killer8080 написал(а):
Цитата (YVSIK @ 2.10.2012 - 23:53)
по моему самое времечко для бана Skadmit

Да нет, пока не за что. Никого еще не оскорбил, в принципе адекватен. Может человек и вправду заблуждается. rolleyes.gif

Спустя 23 секунды (2.10.2012 - 23:56) Игорь_Vasinsky написал(а):
Цитата
Цитата (Игорь_Vasinsky @ 2.10.2012 - 23:46)
да ты во-первых - помагаешь ТС наплевать на безопасность

Это в каком таком моменте?...
Цитата (Игорь_Vasinsky @ 2.10.2012 - 23:46)
2 - не рационально расходуешь ресурсы.

Нерационально? ... Перечитай еще раз последовательно: первое второе третье четвертое


вывоодить оригинальный текст ошибки при работе с БД ? это шикарно? ну ты ещё error_reporting(E_ALL); - по выше поставь.

Какой порядок? тебе 6 раз написали - что твой порядок - это не порядок.

Спустя 12 секунд (2.10.2012 - 23:56) Guest написал(а):
Блин дети фреймворков и PDO.
Цитата
Guest
laugh.gif те на сам деле удобней хранить кучу слешей в БД, а не проверить magic quotes и в случае чего стрипслешить - удаляя повторное экранирование (после mysqkl_real_escape_string) - до записи исковерканных данных в БД ??

т.е. ты считаешь рацианально хранить в БД кучи мусора - которые тебе ни в БД, ни на выводе не пригодяться?

в этом твой успех?

Загляни в БД, после обработки PDO строки с SQL инъекцией, тогда можешь другой смайлик поставить.

Спустя 1 минута, 16 секунд (2.10.2012 - 23:58) Игорь_Vasinsky написал(а):
Ответь да или нет. вот описан твой порядок?

Цитата
те на сам деле удобней хранить кучу слешей в БД, а не проверить magic quotes и в случае чего стрипслешить - удаляя повторное экранирование (после mysqkl_real_escape_string) - до записи исковерканных данных в БД ??

т.е. ты считаешь рацианально хранить в БД кучи мусора - которые тебе ни в БД, ни на выводе не пригодяться?

Спустя 52 секунды (2.10.2012 - 23:59) Игорь_Vasinsky написал(а):
Guest
Ты с какого перепуга о фреймворках и PDOто несёшь? содержание топика глянь.


не.. логика на высоте. все зашищаются от SQL-inj в БД, эти 2 товарища ещё и на выходе на себя резину натягивают)

PDO...PDO laugh.gif

Спустя 45 секунд (2.10.2012 - 23:59) Guest написал(а):
Я сейчас сохранил в БД через PDO с SQL инъекцией и что же .......
слэш!
А удаляется он тем же PDO налету.

Спустя 45 секунд (3.10.2012 - 00:00) Guest написал(а):
Цитата
Ты с какого перепуга о фреймворках и PDOто несёшь?содержаниетопика глянь.

В том что они не заметно эту процедуру проводят, вот в том то и весь сказ.

Спустя 1 минута, 20 секунд (3.10.2012 - 00:01) Guest написал(а):
Вопрос к товарисчам
Цитата
е.. логика на высоте. все зашищаются от SQL-inj в БД,

а чем и каким образом отражается эта атака?

Спустя 8 секунд (3.10.2012 - 00:01) Skadmit написал(а):
Игорь_Vasinsky
Цитата (Игорь_Vasinsky @ 2.10.2012 - 23:56)
вывоодить оригинальный текст ошибки при работе с БД ? это шикарно? ну ты ещё error_reporting(E_ALL); - по выше поставь.


Если у тебя правильно составлены все запросы с учетом всех проверок и безопасности, то о каких ошибках ты говоришь? Хотя, я не уверен, что у тебя они составлены правильно, поэтому и валится шквал ошибок, поэтому ты считаешь, что это небезопасно ))

Спустя 1 минута, 48 секунд (3.10.2012 - 00:03) YVSIK написал(а):
Цитата (Skadmit @ 3.10.2012 - 01:01)
Если у тебя правильно составлены все запросы с учетом всех проверок и безопасности, то о каких ошибках ты говоришь? Хотя, я не уверен, что у тебя они составлены правильно, поэтому и валится шквал ошибок, поэтому ты считаешь, что это небезопасно ))

это просто слова и не больше, а болтавню надо подтвердить только фактами и только фактами)

Спустя 18 секунд (3.10.2012 - 00:04) Игорь_Vasinsky написал(а):
Цитата
В том что они не заметно эту процедуру проводят, вот в том то и весь сказ.

мне не чегосказать даже. ты понимаешь что мы о разных библиотеках говорим?????

у PDO свои механизмы.

Цитата
Я сейчас сохранил в БД через PDO с SQL инъекцией и что же .......
слэш!

у меня нет комментариев. я потсталом.

Цитата
Если у тебя правильно составлены все запросы с учетом всех проверок и безопасности


ты не мне код писал, а для ТС, ты тогда уж выложи лекцию в продолжение для него.

а без этих коментариев для него твой код - это шоколадка для хулигана.

Спустя 1 минута, 15 секунд (3.10.2012 - 00:05) killer8080 написал(а):
Цитата (Skadmit @ 3.10.2012 - 00:01)
Если у тебя правильно составлены все запросы с учетом всех проверок и безопасности, то о каких ошибках ты говоришь? Хотя, я не уверен, что у тебя они составлены правильно, поэтому и валится шквал ошибок, поэтому ты считаешь, что это небезопасно ))

Все ошибки должны быть скрыты от пользователей, для тебя это новость?

Спустя 1 минута, 5 секунд (3.10.2012 - 00:06) Игорь_Vasinsky написал(а):
мы здесь не для того чтоб понтаваться знаниями - мы учимся и обмениваемся опытом.

ну видно что ты подругому алгоритмы описываешь, но ты разве сам не видишь что оптимальней?

Спустя 31 секунда (3.10.2012 - 00:06) Skadmit написал(а):
Игорь_Vasinsky
Если ты считаешь экранирование слешами - кучей мусора, то мне больше нечего тебе сказать ))

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

Спустя 32 секунды (3.10.2012 - 00:07) YVSIK написал(а):
Skadmit
читаем моЕ в подписи biggrin.gif

Спустя 1 минута, 7 секунд (3.10.2012 - 00:08) Игорь_Vasinsky написал(а):
Цитата
поэтому и валится шквал ошибок, поэтому ты считаешь, что это небезопасно ))


в моих делах - нотис даже не проскочит))
я даже пустой массив не брезгую объявить перед заполнением. laugh.gif


Цитата
Если ты считаешь экранирование слешами - кучей мусора, то мне больше нечего тебе сказать ))


))) двойное экранирование, двойное) остальное меня на выходе не смущает ни скока.

Спустя 1 минута, 10 секунд (3.10.2012 - 00:09) Игорь_Vasinsky написал(а):
Цитата
Скажу остальным - вы привыкли работать узко (только на своем сервере), когда перед вами будет стоять задача - написать скрипт для массовой реализации, вот тогда вы от своих "потенциальных клиентов" наслушаетесь кучу недобрых слов )))


оппа.. так вас таких ещё и дохера???

а какой проект законченный есть?? дай поклацать по ссылочкам.

я вообще в твоих алгоритмах =- ни чего полезного для коллективной работы с кодом или оптимизаций под высоконагруженные проекты не увидел даже близко.

наоборот - тока вред - который я аргументировал.

Спустя 1 минута, 15 секунд (3.10.2012 - 00:10) killer8080 написал(а):
Цитата (Игорь_Vasinsky @ 3.10.2012 - 00:06)
ну видно что ты подругому алгоритмы описываешь, но ты разве сам не видишь что оптимальней?

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

Спустя 1 минута, 24 секунды (3.10.2012 - 00:12) Skadmit написал(а):
Цитата (killer8080 @ 3.10.2012 - 00:05)
Все ошибки должны быть скрыты от пользователей, для тебя это новость?

Если я (как посетитель сайта) когда-нибудь увижу нечто вроде
#1146 - Table 'test.incorrect_table' doesn't exist

или
#1054 - Unknown column 'incorrect_field' in 'field list'


Мне это лично ничего не даст, а тебя (как программиста) выставит криворуким.

Спустя 1 минута, 49 секунд (3.10.2012 - 00:14) Игорь_Vasinsky написал(а):
да для меня даше выкапывание кортошки это алгоритм laugh.gif
я понять не мугу - к чему тут спорить - когда с нашей позиции всё аргументировано, а с со стороны апонента ссылки на мануал и чёт не понятное с гостём форума...

Цитата
Если я (как посетитель сайта) когда-нибудь увижу нечто вроде

вот ты упёртый. тыб ещё про кота сказал - который пялиться на эти ошибки.

я не говорю про обычных посетителей. блин. 5 раз сказал уже.

Спустя 2 минуты, 7 секунд (3.10.2012 - 00:16) Skadmit написал(а):
Цитата (Игорь_Vasinsky @ 3.10.2012 - 00:09)
я вообще в твоих алгоритмах =- ни чего полезного для коллективной работы с кодом или оптимизаций под высоконагруженные проекты не увидел даже близко.


Я отвечал не тебе, а автору темы. И все чего я сделал - это ЕГО кривой своеобразный код переписал и показал как надо.

Спустя 2 минуты, 11 секунд (3.10.2012 - 00:18) Игорь_Vasinsky написал(а):
короче из одного кривого кода другой делаешь. этим вся ваша команда занимается??

жаль Виталика нашего давно на форуме не видно, он бы без вникания в техн. вопросы бы локанично тебе объяснил - уложился бы в одну фразу, я если под пивом - то в несколько букф. а потом как всегда в баню.. ему не привыкать. цербер ёпт.

давай, заглядывай к нам по чаще. здесь умельцы есть - слюной истечь можно.

это без сарказма.


опыт приходит с годами.

Спустя 39 секунд (3.10.2012 - 00:19) killer8080 написал(а):
Цитата (Skadmit @ 3.10.2012 - 00:12)
Мне это лично ничего не даст, а тебя (как программиста) выставит криворуким.

Тебе как юзеру, ничего не даст, боле того, подобные подробности ламеров очень пугают,
меня как программиста выставит криворуким, потому что я позволил тебе увидеть ошибки в скрипте, хакеру вывод ошибок полезная обратная связь при прощупывании сервера.
Да и как насчет, если вылезет что то типа этого Connection Cannot Be Established? Или это то же криворукость программиста?

Спустя 2 минуты, 7 секунд (3.10.2012 - 00:21) Игорь_Vasinsky написал(а):
оо.. а вот и Бездна может прокомментирует. он постоянно в нейтралитете - так что ты нас за шайку не держи.

Спустя 20 секунд (3.10.2012 - 00:21) Guest написал(а):
Цитата
значит понятия не имеют, что такое экранирование запросов.

Интересно послушать, чем экранируют запросы, и что происходит со строкой.

Спустя 1 минута, 15 секунд (3.10.2012 - 00:22) Игорь_Vasinsky написал(а):
это ты про PDO говоришь? у которого на выходе SQL-inj ???
о чём с тобой спорить? о погоде?

Спустя 3 минуты, 42 секунды (3.10.2012 - 00:26) killer8080 написал(а):
Цитата (Guest @ 3.10.2012 - 00:21)
Цитата
значит понятия не имеют, что такое экранирование запросов.


Интересно послушать, чем экранируют запросы, и что происходит со строкой.

Простой вопрос, зачем стрипслеш при выводе?

Спустя 13 секунд (3.10.2012 - 00:26) Skadmit написал(а):
Цитата (killer8080 @ 3.10.2012 - 00:19)
Да и как насчет, если вылезет что то типа этого Connection Cannot Be Established? Или это то же криворукость программиста?

mysql_connect не обязательно сопровождать ошибками. Речи о соединении с базой не шло, но и в этом случае стоит остановить процесс
mysql_connect($a, $b, $c) or die('Извините, программист забухал');


Спустя 51 секунда (3.10.2012 - 00:27) Игорь_Vasinsky написал(а):
)) а что ты на 90% вопросов тока отвечаешь? выборочно ещё как то?

Спустя 38 секунд (3.10.2012 - 00:28) killer8080 написал(а):
Цитата (Skadmit @ 3.10.2012 - 00:26)
mysql_connect не обязательно сопровождать ошибками. Речи о соединении с базой не шло, но и в этом случае стоит остановить процесс

Соединение с базой, может быть потеряно во время работы скрипта, об этом то наверное известно?

Спустя 8 минут, 6 секунд (3.10.2012 - 00:36) Skadmit написал(а):
killer8080
Давай пойдем от обратного: покажи какая именно ошибка может помочь хакерам поломать тебя? И чем именно она (ошибка) будет вызвана.

Спустя 1 минута, 20 секунд (3.10.2012 - 00:37) Skadmit написал(а):
Цитата (Игорь_Vasinsky @ 3.10.2012 - 00:27)
)) а что ты на 90% вопросов тока отвечаешь? выборочно ещё как то?

По двум причинам:
1. глупые вопросы пропускаю сразу
2. не всем могу ответить, я один, вас много.

Спустя 8 минут, 7 секунд (3.10.2012 - 00:45) Игорь_Vasinsky написал(а):
всё понятно. ты видимо тотещё троль.

от обратного те ничё ни кто доказывать не будет. запрещены форумом такие высказывания.

ну раз ты умный. кодь дальше.

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

Спустя 2 минуты, 2 секунды (3.10.2012 - 00:47) Игорь_Vasinsky написал(а):
даже больше. если ты понятия не имеешь как можно воспользоваться такими данными - о какой безопасности веб приложений можно с тобой рассуждать? ни о каких. ты просто прочитал про mysql_real_escape_string и всё. а как всем этим пользоваться ещё не знаешь.

Спустя 6 минут, 12 секунд (3.10.2012 - 00:54) Skadmit написал(а):
Цитата (Игорь_Vasinsky @ 3.10.2012 - 00:47)
даже больше. если ты понятия не имеешь как можно воспользоваться такими данными - о какой безопасности веб приложений можно с тобой рассуждать? ни о каких. ты просто прочитал про mysql_real_escape_string и всё. а как всем этим пользоваться ещё не знаешь.

Закончим на том, что я хотя бы прочитал.
Спорить с тобой бессмысленно, оставайся при своем мнении.

Спустя 55 секунд (3.10.2012 - 00:54) Игорь_Vasinsky написал(а):
на том и порешим.

Спустя 6 минут, 46 секунд (3.10.2012 - 01:01) inpost написал(а):
Итак, при выводе из БД создай мне SQL-инъекцию. Покажи пример, что конкретно должно храниться в БД на данный момент, чтобы отсутствие удаления экранирования привело к данному виду уязвимости.
Четко и по существу, пожалуйста, без всяких трололо сообщений, вот строка в БД с такими-то символами, я делаю вывод - получаю sql-inj. Жду пример.

Спустя 4 минуты, 6 секунд (3.10.2012 - 01:05) Игорь_Vasinsky написал(а):
inpost
Свернутый текст
как то не привычно от тебя слышать такое аллогичное задание laugh.gif

Спустя 3 минуты, 10 секунд (3.10.2012 - 01:08) inpost написал(а):
Ты вот всем пытаешься своё тыкать, хотя все видят, что каждый твой комментарии - полная глупость. В чём прикол? Ты не можешь нормально формулировать свою речь?
"Ты не про директиву magic-quotes-gpc ли говоришь? Во-первых, не каждый сервер тебе позволит это сделать, а во-вторых - следи за обновлениями! "
- А при чём тут эта директива? Проверил php скриптом при внесении в БД, если включена (!) - обработал.
- Что не каждый сервер позволит мне сделать? ЧТО?!
- За какими обновлениями? Обновления говорят о том, что функция теряет свой логический смысл, потому что она направлена убирать экранирование, в 99% случаев именно из-за магических кавычек. Так как больше ничего автоматически не экранируется, то нет смысла в общем ею обрабатывать данные.

Спустя 5 минут, 10 секунд (3.10.2012 - 01:14) inpost написал(а):
Игорь_Vasinsky
Я готов узнать что-то новое, если человек говорит истину. Сказал, что есть sql-inj или другая уязвимость, так пусть продемонстрирует мне её. Лично мне не сложно потратить 1 минуту и показать реальные уязвимости в деле.
Что сразу орать, что он тролль. Пусть аргументирует, только грамотной русской речью с чёткими указаниями, вот тут,тут и тут! Без всяких выкрутасов и ссылок на мануал.

Свернутый текст
А в общем, мне это напомнило немножко наше поведение с теми, кого мы отправляем читать мануал. Сразу мысль возникла, что кто-то ОЧЕНЬ сильно обиделся из местной школоты, кому мы готовый код не написали, и теперь бегает и тычет в нас ссылками на мануал не понимая того, что там написано. Своеобразная месть, но это лишь ИМХО smile.gif

Спустя 1 минута, 35 секунд (3.10.2012 - 01:15) Игорь_Vasinsky написал(а):
наврядли.

Спустя 3 минуты, 2 секунды (3.10.2012 - 01:18) inpost написал(а):
Игорь_Vasinsky
Конечно её там нет и быть не может. Зачем сомневаться, важно иное, чтобы человек сам для себя понял, что он не прав, а понять это он сможет только тогда, когда у него не получится в примерах доказать свою правоту. Ты же видишь каким он сюда прибежал, самый умный, самый мудрый, других не слушает. О нём у меня даже есть фотка, показать?

Спустя 6 минут, 46 секунд (3.10.2012 - 01:25) Игорь_Vasinsky написал(а):
кинь в ЛС.

так он там не один такой же. вот что пугает. лан хоть я на работе с нуля всё поднимаю. повезло что начальник программист и принцип у него такой - не отвечать за чужие грехи.

а если он видео уроки начнёт шлеповать?

Спустя 2 часа, 34 минуты, 33 секунды (3.10.2012 - 04:00) twin написал(а):
Вот задчка. Специально разработана так, что любое неверное движение сразу вылезет наружу.

Чем разводить срач на 6 страниц, попробовали бы решить. Тогда сразу стало бы ясно, где какие функции стоит применять.

Спустя 5 часов, 16 минут, 49 секунд (3.10.2012 - 09:16) m4a1fox написал(а):
Эка я холивар предвидел....

Спустя 10 минут, 24 секунды (3.10.2012 - 09:27) killer8080 написал(а):
Цитата (twin @ 3.10.2012 - 04:00)
Чем разводить срач на 6 страниц,

полностью согласен.

Skadmit
специально для тебя, вот тестовый код, запусти и полюбуйся результатом.
mysql_connect('localhost', 'root', ''); 
mysql_select_db('test');

mysql_query("
CREATE TABLE IF NOT EXISTS `test_table` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`text` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
"
);

mysql_query("TRUNCATE TABLE `test_table`");

$text = 'root directory for windows is C:\Windows\ by default';

mysql_query("INSERT INTO `test_table` (`text`) VALUES ('".mysql_real_escape_string($text)."')");

$result = mysql_query("SELECT `text` FROM `test_table`");
while($row = mysql_fetch_assoc($result)){
echo '<b>stripslashes used:</b> ' . htmlspecialchars(stripslashes($row['text'])) . '<br />',
'<b>without stripslashes:</b> ' . htmlspecialchars($row['text']) . '<br />';
}

Спустя 4 минуты, 2 секунды (3.10.2012 - 09:31) Игорь_Vasinsky написал(а):
да ему пофиг laugh.gif он посчитал нас всех тупыми и ушёл дальше говнокодить.

Спустя 3 минуты, 14 секунд (3.10.2012 - 09:34) killer8080 написал(а):
Цитата (Игорь_Vasinsky @ 3.10.2012 - 09:31)
да ему пофигон посчитал нас всех тупыми и ушёл дальше говнокодить.

Ну это его проблемы, если так, зато другие, кто тоже так делает, могут осознать свои ошибки. Может кому будет полезно smile.gif А то вчера он ведь не один такой "продвинутый" был smile.gif

Спустя 1 час, 48 минут, 29 секунд (3.10.2012 - 11:23) Shuriken написал(а):
Скорее всего он один был, под гостем, наверно, он же был. Уж очень яростно они друг друга поддерживали

Спустя 3 часа, 20 минут, 55 секунд (3.10.2012 - 14:43) dron4ik написал(а):
что если вы в html-код (например input value="xxx") загрузите значение с двойными кавычками, вас будет ждать неприятный сюрприз

Какой сюрприз??? Киндер?

Спустя 14 минут, 40 секунд (3.10.2012 - 14:58) killer8080 написал(а):
Цитата (dron4ik @ 3.10.2012 - 14:43)
что если вы в html-код (например input value="xxx") загрузите значение с двойными кавычками, вас будет ждать неприятный сюрприз

Какой сюрприз??? Киндер?

Да нет, тут он как раз прав, но для этого есть htmlspecialchars которой нужно обработать хтмл сущности. И к SQLi это не имеет ни какого отношения, никакие слеши в базу не пишутся.

Спустя 2 дня, 2 часа, 30 минут, 35 секунд (5.10.2012 - 17:29) dron4ik написал(а):
Цитата (killer8080 @ 3.10.2012 - 11:58)
Цитата (dron4ik @ 3.10.2012 - 14:43)
что если вы в html-код (например input value="xxx") загрузите значение с двойными кавычками, вас будет ждать неприятный сюрприз

Какой сюрприз??? Киндер?

Да нет, тут он как раз прав, но для этого есть htmlspecialchars которой нужно обработать хтмл сущности. И к SQLi это не имеет ни какого отношения, никакие слеши в базу не пишутся.

ну я про это и написал.....
Быстрый ответ:

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