- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Как смог , как смог :)
Так я тоже не на полном серьезе :)
Благодарю за оценку юмора :)
Красота кода понятие абстрактное. А вот уязвимость вполне реальна. Скорость работы, кол-во запросов. Это вещи более-менее поддающиеся формализации.
Как вы будете оценивать качество текста?
Если вы носитель языка и знаете тему, то все просто.
Но вот заказали вы статью у копирайтера на тему в которой вы "плаваете", и на языке который вы "читаете со словарем". Как вы оцените качество такого текста? ОК. Поставим вопрос иначе. Если вы язык знаете и тему знаете, и вас просят научить проверять тексты человека который языка почти не знает, и темы не знает. На что вы посоветуете ему обращать внимание? :)
Фактически кроме как привлечением специалистов для оценки решения нет. Вы не являетесь "носителем" php и плохо разбираетесь в предмете "безопасность и эффективность". У вас просто нет другого пути.
Важное замечание: уязвимости объективны, все остальное довольно субъективно. Поэтому желательно определиться с максимально ограниченным количеством "критиков", и чтобы они имели более-менее синхронные "вкусы". К примеру это могут быть последователи одного и того-же фреймворка. Тогда эти требования вы сможете выставлять в ТЗ. Так будет проще.
Тут скорее лучше сравнить с музыкой - бывают разные стили музыки, а бывает хорошая и плохая музыка. Желательно реп давать на рецензию любителю репа, а рок любителю рока. Иначе можно получить критику не качества а стиля. Программисты тоже люди.
PS: Вообще можете почитать топик у меня в подписи. Там короткая статейка о том, что такое плохой код. Но поскольку это дело сильно субъективно, то в основном я описывал вопросы безопасности :)
PPS: вообще замечание о том, что исправлять ошибки дороже чем написать изначально правильно верное. Но не стоит путать исправление ошибок и "вычитку". Просто проверить на ошибки стоит обычно заметно дешевле чем стоимость скрипта. Другое дело что в результате вы можете получить не только исправленные ошибки но и вердикт "лечить бесполезно, проще пристрелить".
PPPS: И если вы даете скрипт на анализ, то человек должен быть доверенным. Потому что вы даете ему свой код. Некоторые умудряются код не давать, но просить анализа. Глупо - цена в разы растет, а качество анализа в те же разы падает.
mendel, бла-бла-бла :)
Можно лишь пробежаться по основам, чтобы инклуды были верные, да и sql-injection быстренько проверить. Вот и всё.
Остальное это кропотливая работка + тут уже не знания программиста нужны, а хакера. Ибо строят дома и их разрушают разные люди :)
LEOnidUKG, чтобы оценить "масштабы бедствия" много времени не надо. XSRF или XSS видно невооруженным взглядом. Не всегда но видно...
Кропотливая работа нужна для того, чтобы найти... потом чтобы исправить или использовать. А вот общий анализ не так ресурсоемок.
Пример:
открываю большой, популярный коммерческий двиг буржуйский. Более двух мегабайт кода со всякими плагинами и т.п.
Открываю и вижу что-то вроде:
$x = $_GET['x'];
$x = (int) $x;
$sql = 'SELECT * FROM `xxx` WHERE x='.$x;
В принципе тут нет уязвимости. Но масштабы проекта дают мне понять, что где-то она есть...
и 15 минут поисков увенчались успехом - нахожу первое вхождение без эскейпинга и приведения типов (тоже самое но без второй строчки). Чтобы использовать уязвимость ушло еще полчаса, чтобы найти все подобные места и залатать их - ушел день. Но вывод о вероятной проблеме был ясен в первые минуты, стоило открыть код.
(пример реальный, факты лишь чуток подправлены).
А вот давайте ещё не будет забывать, что у хакера нету исходного кода. Поэтому он может долго долбиться даже об ЧПУ. Вот дыра есть, а ЧПУ не даёт ей использоваться.
LEOnidUKG, давайте вы оцените качество моей повести, но рукопись я вам не дам. :)
Тема топика немного не о том. Да и потом отсутствие исходников лишь усложняет работу хакера. Увеличивает время, но абсолютно не защищает.
Я программист и код понимаю. Но если я заказал сайт на друпале, мне ядро все что ли просматривать? Под дырками я понимаю больше не то, можно ли его сломать, хотя это тоже, а грамотная оптимизация производительности. Одно дело, когда задача решается 2-3 запросами в БД, другое дело, когда программист по глупости делает 1000 запросов, а узнаю об этом я только тогда, когда хостер мне за нагрузку сайт вырубит. В том же друпале задачу можно решить минимум 3мя способами - плагин, php виджет и изменение кода модуля. Решение вроде одной задачи, а вот безопасность у всех способов разная.
Что касается бета-тестеров - как они поймут, что вот здесь код слишком медленный, а здесь вот можно инъекцию сделать?
LEOnidUKG, на то, как код написан мне абсолютно пофиг, хоть в одну строчку, вопрос был не в этом. А что касается проверки на инъекции, ну-ну, проверьте нормальный движок или фреймворк на все запросы к БД, посмеемся вместе.
Видимо вариант пока такой - на начальном этапе делать как есть, после, если проект взлетел, уже нанимать нормального прогера и контролировать процесс.
Это вы про кого говорите? Я лично про фрилансеров. Обычно, человек без проблем исправляет всё, если правки не "глобальны".
LEOnidUKG:
Это как? Найм ещё одно программиста, более опытного?
Нет, просто проверка работы всех заявленных функций. :)
Locker
Бета-тестирование плотное это ответ на - "...не слишком ли криво он написал...".
У меня есть проект, так я 3 год уже там баги нахожу - а вы говорите бета тестирование :)