Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Re: Laravel 5.x » выключить\включить сайт » 16.02.2020 12:54:29

ru

этим будет пользоваться обычный юзер а не сисадмин
я решил проблему так- создал обычную пхп страницу которая умеет выполнять команду php artisan down\up
даже при "выключенном режиме" эта пхп страница будет открываться и можно будет включить основной сайт

#2 Re: Laravel 5.x » выключить\включить сайт » 13.02.2020 22:46:35

ru

там наверно все сломается
я тут тестовый проект обновил 5.2 на 5.8 и то перестал запускаться

#3 Re: Laravel 5.x » выключить\включить сайт » 13.02.2020 22:13:52

ru

обнаружил неприятный момент
php artisan --version
Laravel Framework version 5.3.31
в композере "laravel/framework": "5.3.*"
а в доке параметр allow ip под версию 6
получается надо обновляться? ничего не сломается?
или как тогда быть?

#4 Re: Laravel 5.x » выключить\включить сайт » 13.02.2020 17:57:00

ru

как вариант это использовать команду
php artisan down --allow=127.0.0.1 --allow=192.168.0.0/16
и указать ип вызывающего
а можно определить в каком состоянии находится сайт ? это где то сохраняется в параметрах сайта?

#5 Re: Laravel 5.x » выключить\включить сайт » 13.02.2020 16:08:28

ru

этим будет пользоваться человек далекий от консоли
нужно решение через веб

#6 Laravel 5.x » выключить\включить сайт » 13.02.2020 15:26:40

ru
Ответов: 10

хочу в админке сделать кнопку, которая переведет сайт в режим обслуживания, и на всех страницах будет выводиться надпись сайт обновляется
как реализовать перехват всех запросов и перенаправить на страницу с текстом?
плюс надо фильтровать запросы на админку, чтобы можно было потом выключить этот режим

#7 Re: Laravel 5.x » 5.1 кастомная валидация » 21.08.2019 19:17:04

ru

https://stackoverflow.com/questions/284 … -laravel-5 тут нашел решение
но теперь вопрос- как мне вывести в сообщения об ошибке фразу - пароль содержит запрещенное слово $word, где $word это слово из списка запрещенных слов?
также как проверить что пароль не содержит логин? как передать логин в проверку?

#8 Laravel 5.x » 5.1 кастомная валидация » 21.08.2019 16:07:26

ru
Ответов: 1

версия ларавел 5.1
в проекте используется валидация через app/Http/Requests

public function rules()
    {
       return [
            'name' => 'min:3|max:128|plainText',
            'lastname' => 'min:3|max:128|plainText',
            'email' => 'unique:users,email,' . $user_id . '|email',
            'login' => 'required|min:3|max:64|plainText|unique:users,login,',
            'password' => [
                'confirmed',
                'min:8',
                'max:64',
                'regex:/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/',
                function ($attribute, $value, $parameters)
                {
                    foreach ($this->stopWords as $word) {
                        if (strpos($value, $word) !== false) {
                            //$this->word = $word;
                            
                            $fail($attribute.' is invalid.');
                        }
                    }

                    //return false;
                }

            ]
		
    }

как мне добавить свое правило валидации для поля password?
перерыл весь интернет
или советуют создать свой rule, которого нету в классах
или делать через Validator::extend, при этом extend тоже нету
есть простое решение через анонимную ф-ю в этом чудо ларавел?

#9 Re: Laravel 5.x » установка куки XSRF-TOKEN httpOnly » 16.08.2019 19:25:38

ru

я всегда считал что параметр httponly обозначает что кука будет доступна только по http протоколу, включая https, и не будет доступна через скрипты
плюс хром в вкладке кукис отображает галочку  httponly без уточнения http или https

#12 Laravel 5.x » установка куки XSRF-TOKEN httpOnly » 12.08.2019 13:55:28

ru
Ответов: 9

клиент хочет чтобы все куки были httpOnly
счас в проекте 2 куки XSRF-TOKEN и laravel_session
так вот laravel_session установлена как httpOnly, а XSRF-TOKEN нет
полез в исходник и нашел такой метод

vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php

protected function addCookieToResponse($request, $response)
    {
        $config = config('session');

        $response->headers->setCookie(
            new Cookie(
                'XSRF-TOKEN', $request->session()->token(), time() + 60 * 120,
                $config['path'], $config['domain'], $config['secure'], false
            )
        );

        return $response;
    }

получается намеренно убрали httpOnly без возможности регулировки?
пришлось переопределить метод

protected function addCookieToResponse($request, $response)
    {
        $config = config('session');

        $response->headers->setCookie(
            new Cookie(
                'XSRF-TOKEN', $request->session()->token(), time() + 60 * 120,
                $config['path'], $config['domain'], $config['secure']
            )
        );

        return $response;
    }

насколько такое решение правильное?

Подвал раздела