Задать вопрос
  • Почему подавляющее большинство проектов до сих пор делают на CMS, а не на фреймворках?

    @Inav
    Потому что на cms разработка дешевле,
    потому что никто не хочет писать админку для сайта, особенно если ее разработка сопоставима по трудозатратам с публичной частью,
    потому что заказчик хочет стандартные механизмы управления контентом, а не то что ему придумает разработчик,
    потому что заказчик хочет иметь возможность уйти к другому разработчику с наименьшими издержками,
    потому что порог вхождения для cms ниже => разработчиков больше,
    потому что возможности фреймворков для большинства сайтов не нужны, а для кастомизации cms знающему человеку костыли нужны не на много чаще, чем для фреймворка;
    и потому что подавляющее большинство сайтов это не хайлоад с десятками серверов, который беспрестанно пилит команда программистов.
    Ответ написан
    Комментировать
  • Что почитать про нормализацию БД?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    В принципе учебник для этого не нужен, нормализация - минимизация избыточности данных, имеет 5 форм. Первые три формы нацелены на связанность данных, две последних на улучшение структуры. Очень хорошо описано здесь - citforum.ru/database/dblearn/index.shtml (главы 6 и 7)
    Кратко здесь - support.microsoft.com/kb/283878/ru

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

    А вот и видео неплохое - www.youtube.com/watch?v=1GWx5CZdSCg
    Ответ написан
    Комментировать
  • PHPStorm + GIT. Как настроить игнорирование?

    DevMan
    @DevMan
    Если файл уже под контролем (был ранее добавлен в репозиторий), то .gitignore на нем работать не будет. Что, собственно, и логично.
    Есть два варианта:
    - удалить файл -> закомитить -> добавить в .gitignore -> вернуть файл
    - удалить из индекса (git update-index --assume-unchanged your-file) -> добавить в .gitignore
    Ответ написан
    Комментировать
  • Поможет ли такой php-код защититься от sql-инъекций и XSS, какие в нём есть уязвимости?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Все что делает этот идиотский код - это портит входящие данные.
    Я даже не знаю, стоит ли объяснять. Ведь 100500 раз уже объясняли.

    Но самый, конечно ад - это ответы.

    Когда начинаешь этим щеночкам объяснять, что такое инъекция, и как от нее защититься, все начинают шипеть - "да знаем уже, учоные!". Но когда доходит до дела - такой ад выдают, что становится понятно. Не учёные, а все те же обезьяны, которые вызубрили пару заклинаний, но по традиции не понимают, ни как эти заклинания работают, ни для чего они нужны.

    Тем, кто предлагает отрезать кавычки от quote, надо самим что-нибудь отрезать.

    И это неловкое чувство, когда 2015 году слышишь самую заветную мантру мадагаскарских гамадрилов: "mysql_real_escape_string зашышает от ынъекцый!". Стоит, блин, такой "устаревший", но еще крепкий архангел с пылающим мечом, и разит супостата прямо в темечко - вот так представляет себе принцип работы этой функции средний пользователь похапе.
    Ответ написан
    Комментировать
  • Почему у PHP такая опулярность?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Это следствие его незаменимости в прошлом.

    Пых появился в нужное время в нужном месте, когда поляна была еще не занята никем.
    А точнее, была занята перлом - утилитой для парсинга текста типа awk, что конечно, совсем недостаточно для написания полноценных приложений. Как следствие, перл как средство веб-разработки был задушен за пару лет, а больше никого и не было - про питон и руби никто не слышал, поделка от М$ была еще хуже. Ява просто не помещалась на тогдшних серверах. И остался один пхп. Вот он и занял всю нишу, а синонимом веб-разработки стала аббревиатура LAMP.

    Собственно, с тех пор разные технологии потихоньку отъедают его долю, но пых держится за счет накопленной массы и экосистемы. И продержится ещё долго - поскольку на месте не стоит: несмотря на то, что большинство клиентов тостера пишут на том самом ПХП, который завоевывал популярность в прошлом веке (поскольку не могут осилить ничего сложнее классического говнокода), современный пых предоставляет современные средства разработки и тем, кто имеет представление о программировании.
    Ответ написан
    3 комментария
  • Как защитить пароль при передаче формы на сервер?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Три ответа и куча лайков.
    Что характерно, если тех же самых людей спросить, надо ли хэшировать пароли на сервере - все дружно, строем и хором ответят - НУЖНО!

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

    Это квинтессенция подобныйх сайтов. Ответ почему-то всегда даётся самый буквальный. При этом вопрос никогда не подвергается сомнению или хотя бы минимальной проверке на осмысленность. Такое ощущение, что отвечающие воспринимают вопрос как экзамен что ли? Или как челендж - ответить любой ценой, пусть даже и неимоверных извращений и ГАРАНТИРОВАННЫХ граблей в будущем. Или - как сейчас - ценой СНИЖЕНИЯ защищенности! Но зато ответ буквальный. И так не только здесь - так практически в любом ответе. Ну никогда ни у кого не твремени задуматься над вопросом - все торопятся отвечать.

    Я не знаю, что с этим делать. Такой подход очень вредит как самому сайту, так и тем, кто задает вопросы. Вместо того, чтобы показать правильный подход, ему старательно, сопя и напрягая остатки извилин, помогают выстрелить себе в ногу.

    Возможно, одна из причин в том, что в голове у отвечателей отсутствуют реальные знания, а стоит органчик, в который записано несколько прочитанных когда-то ответов. И один из этих ответов выстреливается сразу после прочтения заголовка - даже не углубляясь в текст вопроса. Таких "отвечателей" надо гнать поганой метлой. Пусть самоутверждаются в другом месте. Тем же, кто хочет ответить, рекомендую придерживаться правила:

    Перед тем как отвечать, НАДО СНАЧАЛА ПОДУМАТЬ. Посчитать на ход вперед - "а что будет, если сделать, как я советую?" Посчитать на ход назад - "а зачем ему нужно это? Не похож ли этот вопрос на мой собственный, который я когда-то задавал от недостатка знаний?" И попробовать ответить так, чтобы РЕАЛЬНО помочь спрашивающему, а не просто выдать зазубренный ответ.

    Возвращаясь к вопросу: нет, нельзя без SSL. Хэширование на сервере важнее.
    Можно эмулировать SSL для передачи пароля, но куда проще воспользоваться готовым механизмом. На дворе 2014 год, все основные сайты перешли на шифрование всего трафика вообще. Пора переставать бояться SSL.
    Ответ написан
    11 комментариев