• Почему письмо с сервера (через php код) то приходит ко мне на почту, то нет?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    У вас отсутствует заголовок From (в коде не вижу). Возможно, хостинг может подменять его (см. Тех. заголовки письма), тогда оно будет с некоторой вероятностью попадать в спам (вы же не один отправляете).

    Вам нужно задать заголовок вида:
    From: blabla@ваш.домен
    Тогда, отправка будет корректна. Еще, как вариант, вы можете отправлять через phpmailer (куда надёжнее, указываете smtp, ящик, пароль)

    (Здесь должен быть текст, что в некорректной отправке виноват хостинг провайдер, и предложение его сменить, но я посчитал, что буду выглядеть как профессионал, что мне не нужно, и решил оставить комментарий)
    Ответ написан
    1 комментарий
  • Как решить ошибку с подключением файла?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Измените include:

    include __DIR__ . '/admin/vendor/connect.php';
    Ответ написан
    Комментировать
  • В чем разница при подключении класса между require и namespace?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Как таковой, сильной разницы нет, require будет чуть меньше ресурсов потреблять, т.к. не будет тянуться автолоадер классов. Если у вас адекватный загрузчик классов и не калькулятор, для которого каждый бит памяти важен.

    Однако, использование автолоадера (composer), довольно удобно и понятнее.

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

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Телефонный номер, это набор цифр, вы можете составить такую регулярку:

    "[0-9]{4,134}"

    4 - минимальная длинна цифр (номера 911 и пр. вам нет смысла принимать)
    134 - максимальная длинна, которая вам нужна

    Эту же задачу, можно решить так:
    "\d{4,134}"
    "[0-9]+" от 1 символа

    Если прям запариться, то нужно учесть все форматы вводимых данных, от этого регулярка станет сложнее.
    Ответ написан
    Комментировать
  • Как сделать очередь на PHP по работе с CRM системой?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Попробуйте сделать так:

    На сервере организуйте хранение очереди (можно в Redis, но на крайний случай, можно и в mysql). Также потребуются функции уточнения статуса задания и скачивания результата.
    (Если crm поддерживает такой формат работы, костылить нужно меньше)
    В противном случае, воркеру придется дожидаться результата запроса. (На shared хостинге, нагрузка превысит пределы)

    Скриптом принимайте запросы и помещайте в очередь.
    Добавьте задание в cron, чтобы из очереди извлекались данные и формировался запрос к удалённому api. Ответ можно поместить в хранилище, а потом забрать конечному пользователю.
    Ответ написан
    Комментировать
  • Как получить содержимое веб страницы средствами php, если большая часть этой страницы подгружается динамически?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Можно поставить браузер firefox с vnc и дергать страницы через него. Либо, организовать как сервис.

    В общем, вариантов для извращения - много.
    Ответ написан
    Комментировать
  • Как построить sql запрос?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    select d.document from document as d inner join access as a on d.id=a.document_id where a.user_id="124";

    Как-то так, можно добавить лимит вывода записей и смещение, чтобы было лучше.

    Вместо 124 ставь id пользователя.
    Ответ написан
    Комментировать
  • Что НЕ стоит начинать изучать в ближайшем будущем?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Если не хотите учить "бесполезного", определитесь с направлением, в котором планируете работать.

    Откройте вакансии по этому направлению и смотрите требования к ней (составляйте список по требованиям).
    Ответ написан
    Комментировать
  • Можно ли использовать функции внутри SQL запроса?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Использовать функции конечно можно, но только встроенные ( как я понял, тут речь о php функциях).

    Пароли, в большинстве случаев, кодируются MD5() функцией. Советую не изобретать велосипед, если оно того не стоит.
    Ответ написан
  • Где учить sql и Mysql?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    https://sqlbolt.com/ - пройдите все задания.

    После, можете углубиться в справочники по mysql.
    Ответ написан
    Комментировать
  • Стоит ли ставить на старенький пк win10?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Что в журналах у тебя пишется? Была похожая проблема windows 10 (лицензия), в журналах ничего не писалось. Докупал оперативки с одинаковой герцовкой - не помогло.

    Вряд ли ты будешь на нем в игры играть, поэтому поставь linux и не парься (mint, ubuntu,..). Зависания на linux не было. Есть программы gimp, можно поставить пакеты с php.

    Единственная проблема, (ноут 4гб), браузер не держит более 30 вкладок.

    А так все нормально.
    Ответ написан
  • Безопасно ли использовать бесплатные домены от Freenom?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Брутфорс - атака на другую машину (перебором пароля). Скорее всего, вы установили слабый пароль/вирусное ПО. Возможно, использовалась уязвимость в ОС. Нужно найти по логам (кто/что/когда) и устранить проблему, после этого, хостер может разбанить VPS (ну или договориться о разблокировке).

    С бесплатным доменом, блокировка явно не связана.
    Ответ написан
    Комментировать
  • Посоветуй'те курс по разработке движка блога на php?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Попробуйте для начала почитать книги:
    По языку php;
    По базам данных;
    По шаблонам проектирования.

    Обучитесь уже готовому фреймворку (yii, laravel,...), разберите как он работает.

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

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

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Без bash в администрировании не обойтись.

    По крайней мере адекватно. Скрипты, обычно, направлены на решение конкретных задач, тогда как bash позволяет решать широкий спектр проблем минимумом усилиями: от настройки сети до анализа логов.

    Да и bash удобнее, когда познакомишься с ним.

    По аналогии, мороженое можно есть ногами, но использование руки и ложки - куда удобнее.

    P.S. фактически bash - командная оболочка. Любую проблему можно загуглить. Также, нужно не забывать про man.
    Ответ написан
    Комментировать
  • Как сайты понимают, что их посетил бот на Selenium, а не реальный юзер?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Алексей очень хорошо описал причины, которые подтверждаются некоторым личным опытом.

    Очень часто, в логах сервера, в user-agent можно встретить selenium. Достаточно в конфиг прописать правило отклонения запросов с user-agent: (*selenium*) и проблема исчезает.

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

    Обходить это, можно загружая страницу через браузер и случайно сдвигать мышь, случайное количество раз (от 5-10), через случайные промежутки. Спасет от ручной проверки, для большинства сайтов.

    Для 100% гарантии, чтобы не банили, нужно "наводиться" на ссылки, которые нужно распарсить следующими (по очереди). Однако, в этом случае, вы пожертвуете производительностью парсера.

    Как реализовать: Поднять сервис (несколько) на машине с vnc и получать страницу через браузер, имитируя работу мышкой.

    Но, обычно, указать корректный user-agent достаточно. (Я, почему-то уверен, что вы остановитесь на этом варианте).

    Однако, самым примитивным способом отследить, что твой сайт парсят, является мониторинг нагрузки сайта на сервер. Дело в том, что подавляющее большинство сайтов находиться на виртуальном хостинге, где владельцу сайта, сдается в аренду часть вычислительной мощности сервера.

    Владельцу сайта проще заблокировать тот ip, с которого сыпятся запросы, чем проводить оптимизацию кода сайта и выяснять, по какой причине вообще создалась нагрузка (например, из-за не проставленных индексов в бд).
    А порой, это является единственным вариантом, т.к. на сервер, может прилететь за час свыше 10000 запросов к сайту с одного ip.
    Для сравнения от yandex/google, за сутки, может прийти около 4000 запросов (с минимальными настройками индексации).

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

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Если коротко, большинство CMS хранят пароли в базе данных.
    Вы можете подключиться к базе данных (например, используя phpMyAdmin), найти таблицу, где хранятся пароли (можно искать по ключевому слову user) и заменить пароль (обычно md5 хеш пароля храниться в записи).

    Это общая инструкция, не могу сказать подойдёт ли она Вам, т.к. yii можно настроить как угодно.

    Как вам ранее уже писали, без конкретной ошибки, сказать почему у вас сброс пароля не работает - довольно затруднительно.
    Ответ написан
    Комментировать
  • Порекомендуете почтовую программу с поддержкой большого количества ящиков?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Осторожно, субъективный ответ!
    thunderbird - для меня лучшее решение, есть поддержка плагинов (QuickText в особенности), которые позволяют оптимизировать однотипную работу.

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

    Portable версию вроде можно сварганить, но я пользуюсь linux, а там - thunderbird предустановлен.
    Ответ написан
    3 комментария
  • Как отправить реальный ip address клиента после перенаправления соединения?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Вы пробовали искать в поисковике? Тут, вроде описано как ip передать https://serveradmin.ru/nginx-proxy_pass/
    Ответ написан
    2 комментария
  • Какую переменную сохранять в СЕССИИ для безопасности?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Здравствуйте.

    Прочтите эту статью: https://m.habr.com/ru/post/437972/

    Несколько общих рекомендаций:
    1. Передавайте в cookie как, можно меньше информации, т.к. cookie имеют ограничение длинны (у большинства серверов), выход за ограничение вызовет 502 ошибку.
    2. Храните как можно меньше данных в сессиях. Сессии хранятся в файлах. Единовременно, может быть только одно обращение к файлу. Чем больше храните в сессиях, тем большее информации в них записано и тем дольше будет поиск по файлу сессий, что увеличит время блокировки и скорость загрузки сайта/приложения.
    Redis/Tarantol/Memcached решают проблему, т.к. позволяют хранить сессии в оперативной памяти.
    Ответ написан
    Комментировать
  • Какие базы данных использовать в php сайтах?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    Все должно исходить из решаемой задачи. Программа будет располагаться на виртуальном хостинге или VPS (домашнем компьютере)?

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

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

    А вообще, перед выбором технологии, вам нужно оценить все риски и трудозатраты на освоение этих технологий.
    Ответ написан
    Комментировать