Ответы пользователя по тегу PHP
  • PHP. ООП. Сухие примеры с книг, а применять на проектах не получается, как быть?

    riky
    @riky
    Laravel
    Скачай хороший фреймворк (рекомендую Symfony) и начни на нем что нибудь делать - хотя бы простое - список todo для себя.
    там у тебя не получится писать процедурно - со временем на практике так и поймешь для чего все это.

    а так бывает люди пишут классами (static методами или singleton (ну ладно singleton, еще более менее)) и думают что это уже ООП
    Ответ написан
    8 комментариев
  • Как лучше реализовать защиту php файлов от прямого доступа?

    riky
    @riky
    Laravel
    часто все файлы к которым прямой доступ должен быть запрещен просто выносят за пределы веб директории

    /src (здесь весь код приложения)
    /web (сюда смотрит apache/nginx)
    -- index.php
    Ответ написан
    4 комментария
  • Php авторизация пользователя. Что есть best practices?

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

    для получения токена пароль передается только один раз, его конечно тоже могут перехватить, но шансы меньше + для запроса авторизации можно использовать https

    токен же действует ограниченное время и может не давать всех возможностей системы.

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

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

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

    2) как уже заметили статик методы это зло. даже если вы используете классы и пишете на статиках все это совсем не ООП а обычный процедурный подход - те же самые функции. сам когда то таким болел.
    Ответ написан
    Комментировать