• Чем плох md5(md5($pass)) для пароля?

    profesor08
    @profesor08 Куратор тега PHP
    Хеш короткий и возможно уже все посчитаны. Есть онлайн сервисы по подбору пароля по его хешу. Так что проще пароль хранить в открытом виде, md5 защищенности не прибавит.
    Ответ написан
  • Какой лучший бесплатный CRUD генератор для Laravel?

    @lolrofl01
    Сколько не брал разные готовые решения - все равно приходилось разбираться что к чему, читать доку, часть переписывать. Лично я не увидел какой-то большой экономии времени по сравнению с самостоятельным написанием. Если часто пишете админки, то зачем каждый раз писать разное? Суть то одна, возьмите crud из предыдущей админки.
    Ответ написан
    1 комментарий
  • Как загрузить страницу через javascript?

    sinneren
    @sinneren
    $("#response").load("page.html");
    Ответ написан
    Комментировать
  • Объясните, плиз зачем нужен react и vue?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    скорость

    переучивайся в сеошники, о*еешь как в Гугле летят сайты на таком
    правильные сайты, конечно

    один раз код загрузил и дальше обмен по АПИ - да со сжатием - моментальный
    Ответ написан
    1 комментарий
  • Как создать свой фреймворк на подобии Django и как вообще писать сайты без фреймворков?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Мне очень интересно в каких направлениях копать, чтобы понять как оно все утроено, работает и что мне читать и изучать, чтобы разобраться и написать свой "фреймворк".

    ну и для начала подскажите с чего начать.

    Взять код того же Django - он вполне себе лежит в открытом виде.
    Разобраться как там все сделано - и написать свой с блекджеком и женщинами легкого поведения.
    Ответ написан
    Комментировать
  • Как выйти из цикла while?

    @dmshar
    Очень сложно понять, что вы хотели написать, особенно учитывая небрежное форматирование кода.
    Судя по фразе
    "Почему-то даже когда нажимаю от 1 до 9 цикл продолжает работать." вы хотите, что-бы при вводе чисел в диапазоне от 1 до 9 вы заканчивали цикл. А при вводе цифр вне этого диапазона или нажатии Enter пользователю предлагалось дальше вводить числа.
    Тогда это должно выглядеть вот так

    while position not in [str(x) for x in range(1,10)] or position=="" :
            print("ONLY between 1 and 9: ")
            position=input("Choose a position: ")       
    position=int(position)  
    print(f'chosen position is {position}')


    Ни и протокол работы
    Choose a position: 0
    ONLY between 1 and 9: 
    Choose a position: 10
    ONLY between 1 and 9: 
    Choose a position: 
    ONLY between 1 and 9: 
    Choose a position: 5
    chosen position is 5:
    Ответ написан
    2 комментария
  • Post и Get запросы, какая между ними разница и что лучше и для каких целей?

    socengel
    @socengel
    7 лет native php в продакшене, онлайн 20000+,
    Общего между ними то что они работают одинаково. Разницы между ними технически никакой. А вот идеологические различия есть.

    Я расскажу о них в контексте PHP. Прошу заметить что протокол HTTP к PHP имеет косвенное отношение потому что он создавался для обмена html страницами а PHP просто расширяет возможности и того и другого.

    GET запрос используется чтобы получить данные а POST чтобы отправить. (Напоминаю что технически они работают одинаково).

    Поэтому в контексте PHP опираясь на эту идеологию сделали следующим образом:
    1. При каждом запуске PHP по умолчанию создаются суперглобальные массивы ($_GET, $_POST).
    2. Если в строке запроса есть вопросительный знак(?). То все что после него считается параметрами GET запроса они представлены в формате 'ключ'='значение' и в качестве разделителя используется знак амперсанда (&)
    Пример:
    GET /index.php?name=Андрей&surname=Галкин
    это строка запроса, тут 2 параметра. эти параметры попадут в массив $_GET.
    3. $_POST заполняется другим способом. содержимое этого массива заполняется из "заголовков запроса". То есть из места, скрытого от глаз в явном виде. Всю рутину по созданию таких заголовков берет на себя браузер. Хотя иногда и что-то редактируется в заголовках в ручную.

    Чаще всего пост запрос используется в формах (для отправки данных).

    Например у нас есть форма для входа 2 поля логин и пароль.

    Представим что мы используем GET метод. Тогда при отправке формы мы перейдем на следующий адрес /login.php?login=Андрей&password=123 согласитесь что так передавать такую информацию совсем не безопасно. Любой может открыть ваш браузер и начиная вводить адрес сайта он из истории может увидеть ваши пароли и логины.

    А вот если бы мы указали методом POST то мы бы получили следующий запрос:
    POST /login.php (login=Андрей&password=123) то что в скобочках было бы скрыто и никак не сохранено в браузере.

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

    В общем подводя итог:
    GET - это чтобы получить определенную страницу в определенном виде ( сортировка, текущая страница в блоге, строка поиска и т.п. ).
    POST - для оправки данных которые не влияют на отображение страницы, в том плане что эти данные влияют только на результат выполнения скрипта ( логины, пароли, номера кредиток, сообщения и т.п. ).

    И еще одна хорошая новость их можно комбинировать, например
    POST /index.php?page=login (login=Андрей&password=123) Думаю я уже достаточно объяснил что из этого получится и какие параметры в какой массив попадут.
    Ответ написан
    2 комментария
  • При выборе PHP фреймворка стоит ли обращать внимания на тесты скорости?

    inoise
    @inoise Куратор тега PHP
    Solution Architect, AWS Certified, Serverless
    Имхо, бесполезная метрика. Давайте разберёмся почему.
    Что нам даст данная метрика? Ничего. Бизнес-логика и сетевые издержки съедают куда больше и на их фоне производительность движка даже не заметна. А если вспомнить что проект состоит не только из кода так вообще смешно становится
    Ответ написан
    Комментировать