• Как отправить письмо с сайта через smtp.mail.ru?

    mg15
    @mg15 Автор вопроса
    Учусь
    Проблема решена.

    Оказалось, что в строке $mail->Host = 'smtp.mail.ru';

    правильно будет:

    $mail->Host = 'ssl://smtp.mail.ru';
    Ответ написан
    Комментировать
  • Хорош ли MODx и чем?

    @BatteryLow
    Как по мне MODx на сегодня лучшая cms для разработки корп. сайтов. Конкретно ваша задача больше похожа на приложение и фреймворк был бы наверное лучше, особенно на перспективу. Но все же:

    Плюсы

    • Modx хорош в первую очередь архитектурой, это не лапша WP из нескольких тысяч функций, писать код для него приятно и легко, можно и по-взрослому с ООП, контроллерами, сервисами и пр.
    • Отличная система кеширования из коробки, можете настроить так, что сайт у вас будет все летать как истребитель.
    • Есть шаблонизация, хотелось бы Twig конечно, но и Fenom не плох
    • Сильное сообщество, если опять сравнивать с WP это не армия школьников научившихся php за 10 дней и выкладывающая говно плагины в репозиторий, в основном это чуваки, которые умеют писать код и причем правильно.
    • Продолжая прошлый пункт - плагины, там они действительно хороши, некоторые платные, но это нормально про сыр поговорку мы все знаем, да и стоят не дорого, охватывают наверное весь необходимый функционал для CMS.
    • Документация, подробная и обширная но инглиш знать желательно, хотя и на русском много материалов.

    Минусы

    • Лично для меня главное наверное необходимость регистрировать ресурсы(шаблоны, чанки, плагины) в интерфейсе самой CMS через браузер, достаточно сильно отвлекает и раздражает. Раньше вообще все хранилось В БД, да-да и шаблоны и php код тоже, править можно было только через встроенный редактор, это для меня была непостижимая дичь, как до такой говно фичи можно было додуматься. Сейчас от этого частично ушли, за счет статичных ресурсов, но не идеально.
    • Мало хуков, системные события конечно есть, но их может не хватить для сложных задач.
    • Порог вхождения, там используется специфичный синтаксис и подход, первое время придется поизучать его, но после привыкания все идет как по маслу.
    • Малый функционал из коробки, не сказать что это минус, возможно наоборот, но некоторые компоненты вроде транслитерации url можно было бы и в ядро включить, в итоге в начале проекта нужно тратить достаточное количество времени на настройку и установку модулей.
    • Интерфейс админки, тоже не минус а скорее вкусовщина, в нем есть несколько мелких проблем, он немного тормозной, некоторые моменты реализованы не удобно, если контент менеджер - это блондинка Юля с ресепшена, её может быть сложнее чем в том же WP.
    Ответ написан
    1 комментарий
  • Черным по белому или белым по черному?

    7workers
    @7workers
    Если Вы программируте «не веб» то может и неважно, но если Вы будете постоянно переключаться с IDE на странички, которые почти всегда светлые, то глаза устанут быстрее.
    Ответ написан
    2 комментария
  • Черным по белому или белым по черному?

    taliban
    @taliban
    php программист
    Неважно, просто чаще смотрите мимо монитора. Желательно в окно и далеко.
    Ответ написан
    Комментировать
  • Проверка пароля регулярным выражением?

    dmeroff
    @dmeroff
    Вы меня, конечно, извините, но зачем ограничивать пользователя в выборе пароля? Зачем ограничивать длину пароля сверху? Зачем вырезать спецсимволы из его пароля, если он все равно будет хэширован (вы ведь хэшируете пароль, а не храните его plain текстом?)? Просто ограничьте минимальную длину пароля символами шестью.

    P.S. И вообще как же меня выводят из себя всякие ограничения для пароля, типа: введите одну цифру, одну букву, одну букву в верхнем регистре, один спецсимвол, один китайский иероглиф. Для людей, которые делают такие формы, в аду, наверное, есть отдельный котел.
    Ответ написан
    1 комментарий
  • Где посмотреть открытые вкладки на других устройствах в Google Chrome?

    FiLinX
    @FiLinX
    Знать то - что не придумали ещё..
    автор, решил загадку?
    гугл и Хабр говорит, что их можно увидеть открыв на ПК новую кладку, и где-то там в каком-то меню, должен появится пункт Другие устройства (Other Devices)
    но как я только не пробовал, даже в режиме инкогнито, но так и не увидел нигде такого пункта..
    как же меня это достало.. уу

    пс: порылся в справочном форуме гугла по этой проблеме, но и там как такогого решения не нашёл.. наиболее близкое это вот https://support.google.com/chrome/forum/AAAAP1KN0B...
    ну и да, пункта Другие устройства (Other Devices) давно вроде бы как нет уже, его типо перенесли в хистори..
    вот тут да показываются вкладки открытые на других девайсах chrome://history/syncedTabs
    но это только на в данный момент реально открытых девайсах..
    а вот то, что в управлении синхронизации - их не найти и не убрать никак...
    Ответ написан
    1 комментарий
  • Что не так с Yii2 rest api авторизацией?

    mendler
    @mendler
    Senior Web Developer
    data: {access_token:'1NLS4Os8zNwdeImN2hUUcaDpnTzNrfeM'}

    Ключ access-token, а не access_token,
    https://github.com/yiisoft/yii2/blob/master/framew..., строка 21
    Если необходим access_token, то нужно переопределить в настройках поведения.
    Ответ написан
    1 комментарий
  • Как исключить возможность взлома на сайте?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    //COPY01 EXEC PGM=IEBGENER
    1. Может зря. А может и не зря. Все зависит от того, какой клиент и кто ломать будет - то есть опять возвращаемся к вопросу - какова модель нарушителя?
    2. Нет. https обеспечивает невозможность сьема данных в процессе передачи по каналам связи и гарантирует, что клиент получил именно то, что прочитал с сервера, что поток нигде "по дороге" не модифицирован. Но это все очень зависит от клиента.
    3. Правильно. Чем толще заказчик взлома, тем больше у него возможностей напасть. Чем толще хостер, тем больше у него возможностей защититься. Поэтому тут начнется меряние пипи....ми.
    Ответ написан
    2 комментария
  • Как исключить возможность взлома на сайте?

    athacker
    @athacker
    1) Зря ли вообще переживает клиент?

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

    2) Есть ли необходимость в https?

    В HTTPS необходимость всегда есть. Независимо от.

    3) Правильно ли я понимаю, что в данном случае все зависит от безопасности хостера?

    Если прям всё-всё статикой -- то да.

    4) Посоветуйте, если Вам известны, хорошие хостеры, способные обеспечить безопасность и высокую нагрузку на страничку.

    VPS-ку приобретайте у флагманов отрасли (Крок, Даталайн, Селектел), и настраивайте её как положено. За основу можете взять CIS benchmark. Они же (CIS) раздают уже преднастроенные образы для Амазона, например.
    Ответ написан
    Комментировать
  • Как исключить возможность взлома на сайте?

    @sazhyk
    Если у вас только фронт, то взломать могут только вэб-сервер хостера, который отдает эти странички. Тут уж вопрос к нему. Не встречал ещё ни одного хостера, который дал бы 100%-ную гарантию от взлома.
    Ответ написан
    1 комментарий
  • Почему мой файл шаблона выводится в html обертке?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) судя по скринам - вы смотрите в инспекторе, он исправляет косяки типа отсутствия открывающих/закрывающих тегов и тп. Откройте исходный код страницы(ctrl+u), посмотрите что реально отдал скрипт браузеру.
    2) возможно где то у вас вызывается рендер шаблона вложенно, или какая-то врапалка срабатывает, или теги падают и хром их дорисовывает, опять же - смотреть сурс странички.
    3) Если код хедеров в при разном вызове отличается - сделать поиск по файлам проекта со строкой которая лишняя.
    Ответ написан
    3 комментария
  • Проблема при получении JSON с другого сайта с помощью тега script, как правильно решить?

    bubandos
    @bubandos
    bash'у, javascript'ую, php'лю, css'аю, html'каю
    Вызов JSON.parse(str) превратит строку с данными в формате JSON в JavaScript-объект/массив/значение.
    А вы что делаете? Вы в JSON.parse передаете объект, созданный document.createElement('script');

    Замените
    JSON.parse(script).innerHTML
    на
    JSON.parse(script.innerHTML)

    Понятно почему?
    Ответ написан
    Комментировать
  • Как правильно технически организовать веб-разработку?

    Antonoff
    @Antonoff
    Разработчик
    Отвечу кратко, используйте Trello - Играет роль таск менеджера, и там отлично можно делать спринты по агиле. Сейчас напилино очень много разного рода интеграций для Трелло и Slack + Trello, тоже хорошо работал.

    Для гит - ставьте на дев сервера - GitLab или смотрите в сторону платного аккаунта на GitHub или BitButcket.

    Баг трекер используйте из GitLab/GitHub Issue, ибо банально легко можно отслеживать как так провигается когда кто-то делает коммит с #issue_id.

    Ну и система коммуникаций, должна быть на высоте! Я бы брал бы Slack.

    Если нравится продукция Atlassian смотрите в сторону Jira, BitButcket и HipChat.

    Но для меня лично лучше всего подходит GitHub, Trello, Slack и всё.
    Ответ написан
    6 комментариев
  • Кто как делает html формы?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Современная форма - это комплекс решений, в разных областях. И поставить один модуль который решит проблему - не возможно в принципе. Каждый специалист может собрать свою часть. Но без архитектора который скажет как это скрутить в кучу, будет велосипед с квадратными колесами - ехать можно но по специальной дороге.

    1. Разметка:
      • пишу всегда вручную;
      • длинные селекты тянутся из базы посредством шаблонизатора (например серверного TWIG);
      • прописываю полностью с атрибутами валидации HTML5 (благо все современные браузеры потдерживают);
      • выдумывать JS-велосипеды для валидации не стоит уже давно;
      • для зависимых полей пока есть простой js-клаcс сверяющий их.
      • drag&drop файлов давно уже работает без JS;
      • для подгрузки изображений в страницу на стороне клиента js-класс.

    2. Стили:
      • один раз прописаны стили для разных-форм на уровне тегов и взаимоотношений тегов (в итоге все формы на сайте виглядят в одном стиле);
      • класы только для самой формы, определяет как одна выводится: локально, модально или в теле контента;
      • кому сложно написать 300 строчек CSS, пользуйтесь фреймворками;
      • ни в коем случае не делайте стили форм для каждого раза как онные встречаются (придет дядя даст по рукам :) ).

    3. Отправка:
      • пользуйтесь action, submit и target;
      • нужны данные как модальное окно есть iframe;
      • ajax с формами не использую он изначально предназначен для другого:
        • для подгрузки полей в селектор, но только если селектор очень большой;
        • для поиска налету.


    4. Сервер:
      • использую специальный статический класс, который делает валидацию и XSS/injection-очистку;
      • как минимум PDO с подготовленными запросами;
      • Doctrine;

    5. База-данных:
      • наименования полей в базе соответствуют наименованиям полей в формах (с префиксом);

    Ответ написан
    1 комментарий
  • Как организован workflow фронтенд разработчика?

    serjikz
    @serjikz
    web-developer
    Давайте по пунктам постараюсь рассказать, как вообще надо работать во front-end.
    1. Вы должны научиться думать блоками (блоками в потоке, выпадающими из потока, flex-блоками и тд и тп). Научиться можно только когда вы поймете как на самом деле надо верстать.
    2. Начните с простой вёрстки. Возьмите макет в .psd (80% работы над каждым сайтом вы будете пользоваться PhotoShop и если вы его не знаете хотя бы на предбазовом уровне - печаль беда), импортируйте оттуда все нужные вам картинки ну и начинайте верстать шаблон поблочно, смотря где какой цвет шрифта, размер, жирность, размер блока, фон этого блока и тд и тп.
    3. Зачем вы себе морочили голову gulp, sass, bootstrap когда ещё верстать даже нормально не умеете - я увы не понимаю. Вам ни один из этих инструментов не поможет пока вы не будете уметь именно верстать. На данный момент не думайте о технологиях, структуре и тд и тп. Просто сверстайте хоть какой-нибудь макет хоть как-то.
    4. Общайтесь с людьми, которые вам могут помочь продвинуться в этой сфере. Таковых крайне много. Можете ко мне в скайп добавиться и узнавать некоторые вещи, можете к другим, к кому угодно фактически, наверно 60-70% верстальщиков с удовольствием поделятся с вами своим опытом
    5. Пишите код аккуратно. Был тут недавно вопрос, в котором человек предоставил код, а там ни{ } нету, ни отступов нормальных нет, ну и половина ; просто потеряны, а в html теги применяются не по назначению вовсе. Нельзя так делать ни в коем случае, иначе ваш уровень не поднимется с уровня плинтуса.
    6. Файловая структура: папки css images js и на уровне с этими папками лежат файлы .html либо .php всё. Если говорить о препроцессорах и сборщиках - не лезте пока в это, потом узнаете как только научитесь нормально верстать. Я думаю нет смысла объяснять что в папках тех должно лежать. Если вы считаете себя особенным - можете распределять внутри images картинки по папкам на составляющие, к примеру сделать папку отзывов, папку галерей каких-нибудь и тп, но я чаще так не делаю, не хочу чтоб дополнительные символы засоряли мне код и ухудшали читаемость.
    7. Связывать между собой html и css судя по всему вы и так уже умеете и привязывать к ним js. Не знаю что вам мешает сверстать любой сайт если вы понимаете как устроены эти 3 технологии (а на них по факту всё и держится).

    Итог: Забудьте про sass, gulp и прочее пока не сверстаете шаблонов 10, эти технологии вас никак не ускорят и никак вам не помогут пока вы не будете уметь просто верстать с шаблона .psd и писать нужные скрипты на js или jQuery хотя бы. Научитесь немного фотошопу и занимайтесь практикой. Найти те самые .psd вообще не проблема, их куча бесплатных в интернете.
    Ответ написан
    2 комментария
  • Нужен совет, касательно создания чата (PHP or Node)?

    @xfg
    Очень много вопросов. Отвечу только касательно порта. Nginx умеет проксировать websocket трафик.
    location /wsapp/ {
        proxy_pass http://wsbackend:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    Подробнее можно прочитать https://www.nginx.com/blog/websocket-nginx/
    Думаю apache и другие это тоже умеют, но конкретнее сказать не могу, так как не использую их.
    Ответ написан
    Комментировать
  • Каких онлайн-сервисов, веб-приложений не хвататет в интернете?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    Не хватает именно тех и таких, которые будут успешные, станут очень популярными и следовательно принесут создателям много прибыли! А это как раз уже тайна индивидуально каждого разработчика или вдохновителя проекта :)
    Ответ написан
    Комментировать
  • Каких онлайн-сервисов, веб-приложений не хвататет в интернете?

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    Не хватает адекватных коммунальных сервисов.

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

    Но понятно, что такие сервисы должны быть не просто так, а сами коммунальные хозяйства должны быть исполнителями.
    Ответ написан
    4 комментария
  • Как урезать свой перфекционизм?

    isqua
    @isqua
    Научу HTML, CSS, JS, BEM и Git
    Чтобы перестать делать лучше то, что ещё не сделано до конца, нужно понять одну простую истину: Запущенный проект лучше, чем не запущенный.

    Давайте потренируемся:
    • Что лучше: запущенный проект с несжатыми стилями или незапущенный со сжатыми?
    • Что лучше: не запущенный проект с десятью страницами или запущенный с тремя?
    • Что лучше: запущенный проект c jQuery или не запущенный без jQuery?


    Надеюсь, вы смогли выбрать! Как узнать, что пора запустить проект? (Под запуском я имею в виду «показать людям». Например, если вы решили написать библиотеку, давайте считать «проект запущенным», если вы выложили её на гитхаб) Нужно прикинуть, сколько времени вам надо на разработку и умножить на два. Если получилось больше двух недель, то стоит разбить проект на части и прикинуть так про каждую часть. Соответственно, ставите дедлайны.

    Промежуточные дедлайны помогают успеть к последнему. Старайтесь сначала реализовать основную функциональность, а потом дополнительную. Если не успеете к дедлайну доделать дополнительное — сначала запустите основное, а потом видно будет, надо ли вообще доделывать дополнительное.

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

    Удачи!
    Ответ написан
    4 комментария