• Как по-правильному (best practice) организовать проект на php в процедурном стиле?

    Immortal_pony
    @Immortal_pony Куратор тега PHP
    Аналогично. И в ООП-стиле можете организовать также.
    Организация папок не коррелирует со стилем программирования.
    Ответ написан
    Комментировать
  • Хорош ли MODx и чем?

    zooks
    @zooks
    Frontend
    В принципе, можно и на MODX сделать, но это будет явно не филиал 2gis.

    Если нужна именно CMS, то попробуйте October CMS. Он немного похож на MODX, в его основе лежит Laravel. И хорошо интегрируется с Vue.js.
    Ответ написан
    1 комментарий
  • No such file or directory в /storage/framework/sessions в Laravel или как удалить сессии?

    dima9595
    @dima9595
    Junior PHP
    Зашёл сейчас на ваш сайт. Сразу видно, что вы не указали права на файлы и папки. https://laravel.ru/docs/v5/installation#%D0%BD%D0%...
    Ответ написан
    8 комментариев
  • Как добавить данные к отправляемому ajax-запросу?

    Aligatro
    @Aligatro
    Turn food and coffee into software...
    Я вижу три варианта решения проблемы и все они не очень как и задача в целом.

    1. Регуляркой убрать все onclick на страницах (notepad, sublime etc...) где есть форма и привязать событие внутри js.
    2. На бекенде игнорировать данные поступающие с onclick (можно в универсальный обработчик добавить еще один параметр типа ignore и проверять установлен ли он).
    3. Переопределить функцию старого обработчика на новый.
    Ответ написан
    Комментировать
  • Чем отличается программист и инженер-программист?

    @remzalp
    Программер чего попало на чем попало
    Единый квалификационный справочник. Имеет смысл только в организациях с гос. участием, где по разработанной тарифной сетке идёт начисление зарплаты. В коммерции свободы больше, могут обзывать почти как попало (думаю).

    bizlog.ru/eks/eks-1/172.htm
    Требования к квалификации:
    Техник-программист I категории: среднее профессиональное образование и стаж работы в должности техника-программиста II категории не менее 2 лет.
    Техник-программист II категории: среднее профессиональное образование и стаж работы в должности техника-программиста не менее 2 лет.
    Техник-программист: среднее профессиональное образование без предъявления требований к стажу работы.

    bizlog.ru/eks/eks-1/131.htm
    Требования к квалификации:
    Инженер-программист I категории: высшее профессиональное (техническое или инженерно-экономическое) образование и стаж работы в должности инженера-программиста II категории не менее 3 лет.
    Инженер-программист II категории: высшее профессиональное (техническое или инженерно-экономическое) образование и стаж работы в должности инженера-программиста III категории или других инженерно-технических должностях, замещаемых специалистами с высшим профессиональным образованием, не менее 3 лет.
    Инженер-программист III категории: высшее профессиональное (техническое или инженерно-экономическое) образование и опыт работы по специальности, приобретенный в период обучения, или стаж работы на инженерно-технических должностях без квалификационной категории.

    Инженер-программист: высшее профессиональное (техническое или инженерно-экономическое) образование без предъявления требований к стажу работы или среднее профессиональное (техническое или инженерно-экономическое) образование и стаж работы в должности техника I категории не менее 3 лет либо других должностях, замещаемых специалистами со средним профессиональным образованием, не менее 5 лет.

    С остальным - консультант в помощь.
    www.consultant.ru/document/cons_doc_LAW_97378
    Ответ написан
    Комментировать
  • Чем отличается программист и инженер-программист?

    opium
    @opium
    Просто люблю качественно работать
    Это просто условность, на деле подобные термины ходят только в госконторах , где нельзя любую выдуманную должность написать и где я был инженер программист 13 разряда, ни к тому ни к другому отношения не имел
    Ответ написан
    Комментировать
  • Gii на Yii2. Ошибка 404. Что не так?

    proudmore
    @proudmore
    В итоговом конфиге приложения в index.php посмотрите, что написано по поводу модуля gii, поскольку он может быть изменен другим значением.
    Ответ написан
    2 комментария
  • Почему нагрузка могла так упасть?

    @BorisKorobkov Куратор тега MySQL
    Web developer
    Комментировать
  • Как показать локальную веб-страницу, в случае, если сервер не отвечает?

    @lnked
    я использую для этого ngrok

    запускаю так (3004 это порт)
    ngrok http 3004

    в итоге в консоли вы получите ссылку на ваш проект
    Ответ написан
    Комментировать
  • Как избавиться от зависимости от видеокурсов, видеоуроков?

    @SuperNikiforov
    У меня такая же проблема с ленью. Просто невозможно заставить себя учить что то новое. Поэтому я покупаю ящик пива и стараюсь достичь пика Балмера. "Пиши (код) пьяным, редактируй трезвым" - Эрнест Хемингуэй.
    Ответ написан
    4 комментария
  • Как могут взломать базу данных MySQL?

    @BorisKorobkov Куратор тега MySQL
    Web developer
    1. Через SQL-инъекцию (выполнить любой SQL). Если посмотреть в вопросах Тостера выложенный код, то в половине случаев там полно уязвимостей. Для защиты надо как минимум использовать PDO.
    2. Другой вариант - через JS/HTML-инъекцию (засунуть на страницу зловред и украсть пароль админа).
    3. Подобрать пароль админа.
    4. Есть еще много других способов.

    Что делать? Писать не-говнокод. Изучать все эти методы. Использовать тестирование, сканеры уязвимостей.
    Ответ написан
    Комментировать
  • Как могут взломать базу данных MySQL?

    @Z1odeypnd
    Здравствуйте.
    Технологий взлома уйма.
    В зависимости от того, какие привелегии получил "хакер" при вломе вашей БД - зависит очень много.
    Если он получил доступ только на чтение, то захешированные в MD5 пароли ему мало чем помогут, т.к. MD5 не имеет алгоритма обратной расшифровки и хэширование спасёт тем, что взломщик получивший доступ на чтение паролей - самих паролей не получит (есть конечно словарь MD5 хешей, то это другая история).
    Вообще для защиты любой БД есть несколько золотых правил:
    0. Переименовать дефолтного админа и защитить его сложным паролем.
    1. Для каждой БД должен создаваться свой владелец и несколько пользователей с разными наборами привелегий.
    2. Ни у одного из пользователей, созданных в п.1 не должно быть прав на изменение таблиц в соседней БД.
    Если есть необходимость обновлять соседние БД - делайте это триггером в соседней БД.
    3. Каждый внешний веб-сервис должен ходить в БД только с тем набором прав, которых ему достаточно для работы. Т.е. не нужно везде прописывать root и надеяться на лучшее.
    В этом случае, если взломщик получит привелегии этого пользователя, то сможет сделать только то, что разрешено этому пользователю. Тогда не выйдет "удалить все и сразу".
    Например, для наполнения католога товаров в интернет-магазине может быть отдельный пользователь, с правами на SELECT, INSERT, UPDATE, DELETE в таблице SHOP_PRODUCTS, например. И ничего более.
    А пользователи, приходящие в магазин за покупками могут делать SELECT, INSERT, UPDATE, DELETE только в таблицу CUSTOMER_CART. В коде веб-сервиса, естественно должна быть проверка, что покупатель редактирует СВОЮ корзину.
    Для показа каталога товаров - отдельный пользователь, имеющий право только на SELECT из таблицы SHOP_PRODUCTS.
    А продажу товара может делать отдельный пользователь, с правом только на UPDATE колонки AMOUNT в таблице SHOP_PRODUCTS. Пример:
    GRANT SELECT ON shopdb.SHOP_PRODUCTS TO 'trader_bot'@'shophost';
    GRANT UPDATE (AMOUNT) ON shopdb.SHOP_PRODUCTS TO 'trader_bot'@'shophost';

    И т.п. По принципу "Разделяй и властвуй."
    4. Писать запросы с использованием placeholder'ов (подстановку данных), что убережёт от SQL-инъекций.
    Пример:
    $DB->select('SELECT * FROM tbl WHERE a=? AND b=?', $a, $b);

    5. Если и БД и приложение, используещее БД установлены на одном сервере - отключить удалённый доступ к БД и работать через сокеты.
    6. Последний, но самый важный - БЕКАПЫ. При удалении всего и вся - нужно откуда-то восстановиться. Делайте бекапы и храните на отдельном сервере (не выставленном наружу).
    Ответ написан
    3 комментария
  • Почему renderPartial не работает?

    Bandicoot
    @Bandicoot
    Вась-программист
    renderPartial там действительно нет, но он есть в yii\web\Controller.
    Во вьюхах можно использовать render
    Ответ написан
    2 комментария
  • Сервис рассылки почты, 2017, что выбрать?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Делегируйте домены на Яндекс и не думайте больше о настройке почты.
    Просто будете использовать предоставленный SMTP и волосы тут же станут шелковистыми ))
    Ответ написан
    1 комментарий
  • Скажите Скрипт чата между посетителями без обновления страницы .?

    Krasnodar_etc
    @Krasnodar_etc
    fundraiseup
    Что подсказать-то? Загуглите "чат для сайта js", "js chat plugins", ...

    Если делать руками - вам понадобится web sockets . Готового скрипта нет.
    Ответ написан
    Комментировать
  • Нужно ли использовать кавычки в sql-запросе при значении типа числа?

    EreminD
    @EreminD
    Кое-что умею
    select name from table where id=1
    Ответ написан
    Комментировать
  • Какая разница в пути с слэшем или без?

    amorphis
    @amorphis
    Технолог в Студии Артемия Лебедева
    Первый вариант это относительный адрес (относительно текущего адреса страницы), второй абсолютный - относительно корня сайта.

    Например, вы находитесь на странице test.com/news:
    - указывая адрес картинки <img src="images/picture.jpg"> браузер будет загружать её по адресу test.com/news/images/picture.jpg
    - указывая адрес картинки <img src="/images/picture.jpg"> браузер будет загружать её по адресу test.com/images/picture.jpg
    Ответ написан
    3 комментария
  • Есть ли аналог GitHub Pages на Bitbucket?

    Комментировать
  • Почему на тостере вопрос должен обязательно заканчиваться вопросительным знаком?

    Потому что это сервис вопросов и ответов.

    Если человек не может сформулировать заголовок вопроса в виде вопроса, скорее всего, он либо задаёт не вопрос, либо недостаточно хорошо продумал, что именно хочет спросить.

    Все "перлы", которые вы привели, легко переформулировать в настоящие вопросы. То, что авторы этого не сделали, показывает уровень их уважения к тем, кто будет в этих вопросах отвечать.
    Ответ написан
    1 комментарий
  • Как переключатся между удаленными репозитриями?

    Ni55aN
    @Ni55aN
    Разные репозитории - разные директории.

    cd /path/to/project
    Ответ написан
    Комментировать