Задать вопрос
  • Как принимать оплату на сайте анонимно?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Сесть в тюрьму. Там тебя научат делать фейковые банковские колл-центры
    Ответ написан
    Комментировать
  • Как перевести пароли с md5 на bcrypt?

    @alexalexes
    Сморите по регламенту сайта, каков официальный срок действия пароля (если нет такого, то определяетесь с этим).
    1. Создаете в базе новое поле под bcrypt пароль, а также дату смены пароля.
    2. Делаете авторизацию использующую как md5, так и bcrypt если последняя задана.
    3. Разрабатываете систему оповещения для пользователей, у которых истек срок действия пароля.
    4. Ставите дату пароля такой же как и дату регистрации пользователя, если не использовали это раньше.
    5. При смене пароля пишете только bcrypt, md5 не используете, лучше сделать поле-флаг, что пользователь менял пароль уже по новой технологии.
    В течение пару периодов срока действия пароля будет постепенный переход на новый хэш.
    Активных пользователей придется как-то стимулировать, чтобы сменили пароль.
    Неактивные будут восстанавливать пароль, например, по email, если они вернутся на ваш ресурс и вы решите когда-нибудь больше не поддерживать md5 хэш.
    PS: Принудительно заставлять менять пароль пользователю - это не самый оптимальный вариант. Заменяйте хэш пароля по новому алгоритму, как только получили от пользователя исходный пароль, который валиден по старому алгоритму, например, в процессе авторизации.
    Ответ написан
    8 комментариев
  • Как создать что то типа уникального хэша?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Отсортировать параметры и посчитать хэш этого набора любой удобной хэш-функцией
    Ответ написан
    1 комментарий
  • Можно-ли улучшить этот код?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    1. выкинуть все локейшены с ошибками. это дикость, ни один нормальный сайт так не делает. ошибки надо показывать либо сразу, либо через сессию. локейшены с ошибками встречаются только у дебилов, которые делают видео на ютубе для других дебилов. не надо так палиться сразу.
    2. выкинуть домен из ссылок. ты серьёзно собираешься переписывать все ссылки, когда у тебя сайт с временного домена переедет на постоянный? а потом обратно - когда надо будет потестить локально? header('Location: /AUTH-2/Sign_In/'); достаточно для единственного локейшена, который нужен в этом коде
    3. убрать всю эту лестницу иф-ов, делать все проверки на одном уровне. ошибки собирать в массив. перед вставкой в БД проверить массив на пустоту.
    4. if ($row->Email != $email) - масло масляное. ты УЖЕ проверил емейл в базе, зачем еще раз проверять?
    5. else if($row->Email == $email) { - это уже какой-то совсем адок. Ты УЖЕ проверил, что емейл не совпадает. причем два раза. В else мы попадём, если емейлы совпдают. Ещё раз проверять не надо. Два алкоголика садятся на трамвай, один спрашивает водителя - я этом номере до вокзала доеду? Водитель - нет. Второй алкаш - а я?
    6. внизу у тебя ссылка на password_verify, но хэшируешь ты все равно кривым алгоритмом. Не осилил?
    7. все эти куличики в песочнице с $client_Code $server_Code - это какой-то адок с точки зрения безопасности. Любой школьник, который не тупее дауна, поломает все твои "сессии" за 5 минут.
    8. setcookie("PHPSESSID", $_COOKIE['PHPSESSID'], 0, '/', '.tsecret.net'); - опять совершенно бессмысленная строчка. К чему она? Зачем? Что ты хотел тут сказать? И кому?
    9. Разбей это простыню хотя бы на функции. Никакой солид у тебя конечно не получится, как и у Георгий Котов который сам не понимает что это значит. Но хотя бы разделить проверки, запись в бд, и отправку емейла можно.

    В целом - из плюсов только нормальная работа с БД, в остальном на троечку, и местами - кол (за дыры в безопасности и отсутствие логики)
    Ответ написан
    5 комментариев
  • Как разбить массив на части PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    в цикле
    все операции над массивами производятся в цикле
    для перебора массивов в РНР используется оператор foreach
    Ответ написан
    Комментировать
  • Как отправлять смс через php?

    @anton99zel
    29а класс средней школы №7
    У вас вопрос неверный.
    Вы спрашиваете про отправку через php, а по сути ищете наименее затратный способ.
    --
    Я себе сделал бесплатный от слова совсем, даже 600 смс и за те не плачу)
    правда, железо у меня уже было (домашнее).
    ---
    Нужно:
    1. Модем e3372
    2. Роутер Кинетик с usb
    3. Сим-карта Дэником, которая на тарифе за 0 рублей дает 600 смс просто так, либо мегафон или Yota дают условный безлимит на смс за 50 рублей. По сути блокируют отправку, если превышаешь лимит в час.
    4. Белые ip не нужны. Интернет на Сим карте тоже не нужен

    Модем прошиваем в hilink, на роутере включаем keendns, добавляем модем к этой службе, при включении будет выдан адрес в сети интернет и ssl, там же в роутере закрываем модем паролем.

    Далее к модему можно обращаться не только по локальной сети 192.168.8.1, но и из интернета (спасибо кинетик)

    Пишем php код, нужно написать несколько функций (отправка, получение, удаление, получение токена)
    Вот пример:
    //функция Отправки СМС
    function send($sms_phone, $sms_message){
      $xml = auth();
      $options = array(
        CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
        CURLOPT_USERPWD => 'admin:34543sdd4!@0',
        CURLOPT_URL => 'https://modem.ВАШЕ_ИМЯ.keenetic.link/api/sms/send-sms',
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_USERAGENT => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
        CURLOPT_HTTPHEADER => array("X-Requested-With: XMLHttpRequest",'Cookie:'. $xml->SesInfo,'__RequestVerificationToken:'. $xml->TokInfo,'"Content-Type:application/x-www-form-urlencoded; charset=UTF-8"'),
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => "<request><Index>-1</Index><Phones><Phone>".$sms_phone."</Phone></Phones><Sca/><Content>".$sms_message."</Content><Length>5</Length><Reserved>1</Reserved><Date>".date("Y-m-d H:i:s")."</Date></request>"
      );
      $curl = curl_init();
      curl_setopt_array($curl, $options);
      curl_exec($curl);
      curl_close($curl);
    };


    И сама отправка:
    send($sms_phone, $sms_message);
    На сервере нужно делать проверку номера и спам-защиту:
    Проверка можно делать тут, включая ограничения по региону:
    rosreestr.subnets.ru/?get=num&num=79152000200
    --
    Тем самым ваш сайт может слать смс.

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

    Для клиентов, когда важно передать именное смс, а не циферное, использую www.smsimple.ru
    В среднем отправка 2,30 рубля
    Ответ написан
    Комментировать
  • Ломают мой хостинг? Как защитить, основываясь на логах?

    profesor08
    @profesor08
    Это просто автоматический скан на наличие шелла. Беспокоиться пока не о чем. Но если не спится спокойно, можешь перепроверить директории на наличие неизвестных и подозрительных файлов.
    Ответ написан
    3 комментария
  • Какой есть простой дебаггер PHP?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    xdebug+phpstorm (или другая ide, но со штормом лучше). Один раз надо отмучаться и разобраться, дальше будет легче. В качестве API клиента - Postman (там можно настроить, чтобы запрос из него активировал xdebug)
    Ответ написан
    2 комментария
  • Появилась гигантская иконка nvidia в нижней панели Ubuntu?

    2ord
    @2ord
    Это не иконка
    Это икона, а значит, нужно молиться

    Подозреваю, что мейнтейнеры драйвера нвидии подсунули изображение большего размера чем полагается.
    Ответ написан
    6 комментариев
  • Удалённый доступ к смартфону с разбитым экраном?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Когда надо было что-то сделать на нерабочем сенсоре - использовал OTG переходник и обычную мышку. Тут ситуация сложнее, но тоже можно попробовать вслепую поработать. Пару лет ходил с плеером (iRiver U10) вообще без экрана - до этого запомнил всё меню "на ощупь".
    Верно думаете - ставьте программу через гугл плей с компьютера, она установится и ярлык будет справа (или снизу) меню. Там и ищите его. А дальше можно запустить параллельно на эмуляторе(выбрать вашу модель на эмуляторе) и реальном девайсе, и делать действия синхронно
    Ответ написан
    7 комментариев
  • Удалённый доступ к смартфону с разбитым экраном?

    @alex1478
    Было занимался тоже подобным. Я делал скрин экрана, смотрел его по mtp, нажимал примерно в нужную область, снова скрин и так по кругу. Целью было включить adb. Уже через adb можно получать снимок экрана одной кнопкой, а дальше установить vnc сервер и настроить.
    Ответ написан
    Комментировать
  • Что важнее при обработке фотографий оперативная память или процессор?

    Adamos
    @Adamos
    Сама по себе процедура особых вопросов не вызывает и решается при помощи toolkit AcImage.

    Зачем для такой простой задачи какой-то тулкит, жрущий память на свои абстракции? Валите фотки в папку, которую по крону лопатит convert (на сервере же наверняка есть ImageMagick?) - и никакие ограничения пыха вас не будут парить в принципе.
    Ответ написан
    Комментировать
  • Как в Laravel не принимать get-параметры при нажатии кнопки "назад" в браузере?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    Понять, что человек перешёл по кнопке Назад с сервера невозможно. Поэтому какие-либо действия реализуются обычно через post запросы — с ними гораздо меньше проблем подобного плана, потому что тело с параметрами запроса есть только в одном месте — в форме на странице. Ну ещё браузеры сейчас его хранят и предлагают переотправить при обновлении страницы.
    Ответ написан
    2 комментария
  • Как взломать архив rar?

    Jump
    @Jump
    Системный администратор со стажем.
    Как взломать архив rar?
    Только брутафорс или словарная атака.

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

    @EvilSide
    Sysadmin
    Я думаю что вы слишком много хотите от своей файлопомойки

    Ресурсов не хватит, даже не смотря что там за железо стоит. Все вендоры, на НАСы ставят железки минимальные. Економия на производстве и максимальная прибыль.

    Просмотрт видео это по факту его скачивание, для приблизительного понятия приведу нужные скорости для воспроизведения видео в Ютубе
    2160p (4k) – 35 — 45 Мбит/с
    1440p (2k) – 16 Мбит/с
    1080p – 8 Мбит/с
    720p – 5 Мбит/с
    480p – 2,5 Мбит/с
    360p – 1 Мбит/с

    Может вы себе просто сделает несколько копий с разным битрейтом и будете запускать нужную вам ?

    По поводу просмотра, не сталкивался но если не ошибаюсь возможен такой вариант.
    Подключаетесь по FTP и смотрите через проигрыватели которые воспроизводят видео сразу по загрузке (если не ошибаюсь такое умеет VLC)
    Ответ написан
    Комментировать
  • Как организовать просмотр фото и видео с NAS?

    @q2digger
    никого не трогаю, починяю примус
    Услышал nas326 и аж глаз дернулся. Нашел где то в кладовке, еще живой.
    Так вот - там у него, "внутре", все есть. И медиа сервер тоже. И Webpablish. Надо только включить и порты на роутере к нему прокинуть.
    5f473dc4d730a648567689.png
    и
    5f473e102c64c480314297.png
    Ответ написан
    4 комментария
  • Как называется "алфавитная инкрементация" строковых значений в php (и вообще)?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    perl-style
    Почитать можно в мануале
    Гуглить просто php string increment. Выдает в частности это.
    Ответ написан
    Комментировать
  • Как получит минимальный пинг между Москвой и Хельсинки?

    @iddqda
    network engineer, netdevops
    Можно теоретически снизить пинг на треть
    Известно, что скорость света в оптоволокне 0,69с (с - скорость света)
    Кроме того оптоволокно как правило проложено не по кратчайшему расстоянию,
    Хотя на участке между Москвой и Питером оптика зарыта вдоль ЖД, которую Николай I рисовал линейкой, так что много тут выиграть не получится

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

    Единственный момент - нам нужно учесть кривизну земли.
    У Unifi есть такая клевая утилита https://link.ui.com
    с помощью нее вычисляем высоту на которой нужно установить радиопередающие устройства:
    5f3e76e7610c4801338493.png

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

    И кстати, это будет не кратчайшее расстояние.
    Для кратчайшего нам нужно прорыть абсолютно прямой тоннель прям через толщу планеты.
    Но боюсь на данном этапе развития науки и техники этот проект невозможен.
    Ответ написан
    10 комментариев
  • Знание middle backend developer PHP?

    @0x131315
    База: ООП, базовые алгоритмы и структуры данных, умение гуглить.
    База для работы в команде: коммуникабельность, неконфликность, стрессоустойчивость.
    База по беку: php7, mysql, git, http, ssh, linux, phpstorm.
    База по фронту: html/css/js/ajax/jquery, работа с панелью разработчика в браузере.
    То, что отличает мидла от джуна, опыт: 2-3 года коммерческой разработки - основные проблемы с серверами, БД, сервисами, архитектурой, основные способы их решения, боль, примеры как не нужно делать, умение писать лаконичный, понятный, поддерживаемый код, библиотека готовых удачных решений (можно в голове, главное понимать, почему лучше сделать так, а не иначе), решительность. Умение рассказать об этом опыте, о встреченных проблемах и найденных решениях - без этого оффера, само собой, не будет.
    Это то, что требуется почти везде.

    Бонусом будет gitlab, postgres, docker, unit-тесты, curl, rest, elastic, regexp, операции над множествами (для фильтрации/поиска/пересечений массивов данных). Всё это можно добрать по необходимости, но работу упростит и время сэкономит.

    Конкретный бек и фронт фреймворк не проблема добрать во время работы, под конкретный проект - документация есть.
    Но как минимум по одному нужно пощупать на беке и фронте, чтобы понимать общий принцип. Я бы рекомендовал symfony и vue, но это, конечно, не принципиально.

    На некоторых позициях фронта нет совсем, или заявляется, что нет фронта. Но как правило он там есть, и база по фронту лишней не будет.
    Фронта нет только на узких api-проектах, там только работа с curl и БД. Но если проект предоставляет личный кабинет, настройки - этот личный кабинет и формы настроек придется писать и поддерживать, а это фронт.
    В общем php без html почти не бывает, а html без css/js/ajax и подавно.

    Верстка скорее не нужна, чем нужна.
    На большинстве позиций в IT-компании базы по фронту достаточно, т.к. основную работу по вёрстке будут отдавать конкретно верстальщикам или фронту, от тебя максимум, что потребуется - точечно поправить какие-то мелкие баги верстки(поправить размер/цвет/текст), внедрить ajax, натянуть вёрстку, вывести данные, подключить стили/скрипты. База по фронту позволит серьезно сэкономить время, понимая 80% происходящего на фронте, выполнять работу быстрее за счёт намного более редкого обращения к вёртальщикам/фронтендерам, т.к. правки минутные, а бюрократия может занять дни.
    В непрофильных конторах заинтересованы в человеке-оркестре, чтобы за одну зарплату купить целый IT отдел. Но и зарплаты там намного меньше, чем в IT-компаниях, т.к. IT в непрофильных конторах не является основным источником дохода, а скорее идёт как довесок, без которого нельзя, но от которого хотелось бы избавиться. Так что требований будет больше: админ-фуллстек-дизайнер-менеджер за 30к.
    Ответ написан
    Комментировать