Показать сообщение отдельно
Непрочитано 26.07.2012, 22:34   #6
Аватар для Pocan
Пользователь

По умолчанию Re: Подскажите по скрипту

Цитата:
Сообщение от Aquanox Посмотреть сообщение
Пользуйтесь prepared statements из mysqli, не собирайте запросы строками. Это позволит отсечь большинство дыр в скрипте.
Безусловно, использовать mysqli или pdo - это решение от SQL инъекций, но ведь начинающие php-программисты же должны знать, что происходит за плейсхолдерами.
Да и подлезть сейчас можно не только через SQL инъекцию, способов много. Один лишь переход на mysqli не даст сильного эффекта безопасности. Хотя касательно этого скрипта - действительно отсечется большинство дыр, но это скорее частный случай.
Напишу еще один момент - переход (именно переход, а не написание с нуля), например, на mysqli - это далеко не простая процедура для тех, кто пишет подобные этому топики (так как нужно будет написать новую обертку и перелопатить половину обвязки для замены склеенных запросов на запросы с плейсхолдерами), поэтому почему бы им вначале не разобраться с php_mysql, а потом уже переходить на более усовершенствованные технологии. Хоть разработчики php и хотят прекратить поддержку php_mysql, я думаю это еще будет не скоро.

Цитата:
Сообщение от x3k Посмотреть сообщение
В общем, если говорить о дырках, то она одна - это автор скрипта (не желаю обидеть, хочу просто указать на некомпетентность), говоря о Pocan - могу сказать тоже самое.
Подождите-ка, уважаемый x3k.
В чем выражается моя некомпетентность? Давайте конкретнее или для вас привычно бросаться необоснованными обвинениями во всех подряд?
Давайте разберемся подробнее. Топик Стартер, а именно Romanz, четко написал:
Цитата:
подскажите есть ли в данном скрипте дырка
Обратите внимание, что он не писал ничего, типа "перепишите мой скрипт с нуля с использованием, например, mysqli"(что я бы мог спокойно сделать, но не за просто так), а он написал именно то, что я выделил в цитату. Можете даже перечитать его сообщение, если не верите мне.
Я в самом начале своего поста написал:
Цитата:
Вообще не грамотно составленный скрипт
И начал комментировать дырки конкретно в этом скрипте.
Что я сделал, по вашему мнению, не компетентно?

Добавлено через 10 часов 54 минуты
Цитата:
Сообщение от x3k Посмотреть сообщение
Хотелось бы отметить крайнюю, ну просто крайнюю неграмотность писавшего код ещё раз, т.к. скрипт скорее всего работать будет, но говнокоднее говнокода я давно не видел.
Не знаю как вам, а мне кажется, что настоящий фанат своего дела должен разбираться во всем, что связано с его специализацией (сейчас речь идет в частности про php) и не должен отсортировать, что является плохим кодом, а что хорошим. Скажу более того, плохой код можно быстро превратить в хороший.

Цитата:
Сообщение от x3k Посмотреть сообщение
Хотя, если говорить об инъекции, которая видна не вооруженным взглядом, то он прав, но не совсем: на сколько я знаю, данная бага есть в любой обвязке для lineage, как пример - stressweb. На сколько я знаю при голосовании можно указать лишь ник, остальное устанавливается автоматически скриптом сервера (в вашем случае остальное это date и type), а ник в свою очередь проходит фильтрацию на стороне топа, т.е. получается, что уязвимостью могут воспользоватся лишь владельцы топа либо же те, кто получил полный доступ к вашему хостингу (хотя тут проводить инъекцию уже нет смысла ).
Вы так же не учли момент, если у вас вдруг уведут или сбрутят пару логин/пароль от админ панели и просто подменят ссылку. Это в принципе может быть с большим шансом, чем получить инъекцию через известные топы. Но это скорее отступление от темы.

Хотелось бы еще раз уточнить, что я не писал свой код, я лишь "подсказал дырки, которые есть в данном скрипте" и навел на мысль, как их исправить.
А вы, уважаемый x3k, оскорбили меня, обвинив в некомпетентности еще и без каких-либо пояснений.
Я прислушиваюсь к правильной критике, так как мы все люди, все ошибаемся и кто-то знает больше в одном направлении, кто-то в другом, но сейчас, я считаю, совсем не тот случай.
Я жду пояснений и аргументов от вас, x3k.

Последний раз редактировалось Pocan; 27.07.2012 в 15:52. Причина: Добавлено сообщение
Pocan вне форума Ответить с цитированием