• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Symfony problem z secured_area

Object Storage Arubacloud
0 głosów
221 wizyt
pytanie zadane 27 lutego 2018 w PHP przez `Krzychuu Stary wyjadacz (13,940 p.)

Witam

Zaczynam uczyć się Symfony, jak na razie zacząłem od logowania, dobrze mi szło do momentu gdy przyszło mi dodać obronę od ataków csrf, dodałem do framework.yaml "csrf_protection: true", w formularzu dodałem ukrytego inputa i mam problem teraz z security.yaml, dodałem 

csrf_token_generator: security.csrf.token_manager

i gdy loguje się to prawidłowo mnie przekierowuje, ale mam problem z dodaniem secured_area, próbowałem już w każde miejsce dodać i ciągle jakieś errory wyskakują, już nie wiem co zrobić.

 

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false

        main:
            anonymous: ~
            pattern: ^/
            http_basic: ~
            provider: our_db_provider
            form_login:
                login_path: login
                check_path: login
                csrf_token_generator: security.csrf.token_manager

 

1 odpowiedź

+1 głos
odpowiedź 27 lutego 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
wybrane 27 lutego 2018 przez `Krzychuu
 
Najlepsza
Masz tutaj tutorial ze strony Symfony: http://symfony.com/doc/current/security/csrf.html

Wszystko jest tutaj wytłumaczone od początku, więc nie powinieneś mieć problemu ze zrozumieniem.

Pozdrawiam.
komentarz 27 lutego 2018 przez `Krzychuu Stary wyjadacz (13,940 p.)

hmm, widzę że w wersji demo jest generator tokenu, ale nie jest nigdzie dodany 

secured_area

więc chyba tego nie trzeba dodawać, poczekam na odpowiedz innych co z tym fantem zrobić, dziękuje za pomoc i poświęcony czas :)

1
komentarz 1 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)

Mam rozwiązanie. Mój plik security.yaml
 

security:
    # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
    encoders:
        App\Entity\User:
            algorithm: bcrypt

    providers:
        database_users:
                    entity: { class: App\Entity\User, property: username }
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        main:
              anonymous: ~
              form_login:
                  login_path: login
                  check_path: login
                  csrf_token_generator: security.csrf.token_manager
              logout:
                  path:   /wyloguj
                  target: /
    # Easy way to control access for large sections of your site
    # Note: Only the *first* access control that matches will be used
    access_control:
        - { path: ^/admin, roles: ROLE_ADMIN }

Mój formularz logowania:

        <form action="{{ path('login') }}" method="post" class="form-grup col-12 col-md-4">
            <label for="username">Nazwa użytkownika:</label>
            <input type="text"
                   class="form-control"
                   id="username"
                   name="_username"

					{% if last_username is defined %}
                        value="{{ last_username }}"
					{% endif %}
            />
            <label for="password">Hasło:</label>
            <input type="password"
                   class="form-control"
                   id="password"
                   name="_password" />

            <input type="hidden"
                   name="_csrf_token"
                   value="{{ csrf_token('authenticate') }}">

            <input type="hidden"
                   name="_target_path"
                   value="start_page" />
            <br>
            <button type="submit" class="btn btn-primary" name="login">Zaloguj</button>
        </form>

A w kontrolerze zostało to co Ty masz. Wcześniej oczywiście zainstalowałem paczkę Composerem.

composer require security-csrf form


 

komentarz 1 marca 2018 przez `Krzychuu Stary wyjadacz (13,940 p.)

czyli wychodzi na to że 

secured_area

nie trzeba dodawać do security.yaml

1
komentarz 1 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
Dokładnie :)
komentarz 1 marca 2018 przez `Krzychuu Stary wyjadacz (13,940 p.)

Podobne pytania

–1 głos
1 odpowiedź 174 wizyt
pytanie zadane 10 stycznia 2020 w PHP przez niezalogowany
0 głosów
1 odpowiedź 236 wizyt
pytanie zadane 18 grudnia 2019 w PHP przez michal_php Stary wyjadacz (13,700 p.)
0 głosów
2 odpowiedzi 184 wizyt
pytanie zadane 27 maja 2019 w PHP przez michal_php Stary wyjadacz (13,700 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...