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

Symfony problem z secured_area

VPS Starter Arubacloud
0 głosów
208 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ź 169 wizyt
pytanie zadane 10 stycznia 2020 w PHP przez niezalogowany
0 głosów
1 odpowiedź 225 wizyt
pytanie zadane 18 grudnia 2019 w PHP przez michal_php Stary wyjadacz (13,700 p.)
0 głosów
2 odpowiedzi 180 wizyt
pytanie zadane 27 maja 2019 w PHP przez michal_php Stary wyjadacz (13,700 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...