Skip to content

Commit

Permalink
Kis fixek + csrf & documentation forditas
Browse files Browse the repository at this point in the history
  • Loading branch information
esemve committed Sep 3, 2016
1 parent 1a1eb23 commit fe46fd9
Show file tree
Hide file tree
Showing 4 changed files with 155 additions and 6 deletions.
69 changes: 69 additions & 0 deletions hu/csrf.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# CSRF Védelem

- [Bevezetés](#csrf-introduction)
- [URI -k kizárása](#csrf-excluding-uris)
- [X-CSRF-Token](#csrf-x-csrf-token)
- [X-XSRF-Token](#csrf-x-xsrf-token)

<a name="csrf-introduction"></a>
## Bevezetés

A Laravel egyszerűvé teszi, hogy megvédd az alkalmazásod a [cross-site request forgery](http://en.wikipedia.org/wiki/Cross-site_request_forgery) (CSRF) támadásokkal szemben. A Cross-site request forgeries egy veszélyes exploit, melynek célja a bejelentkezett felhasználó nevében parancs futtatása megfelelő jogosultságok nélkül.

A Laravel automatikusan CSRF "token" -t generál minden aktív felhasználói sessionhöz. Ez a token azonosítja az authorizált felhasználót, hogy valóban ő indította a request -et az alkalmazás felé.

Akárhányszor definiálsz egy HTML formot, csatolnod kell bele egy rejtett CSRF token mezőt, hogy a CSRF védelemért felelős middleware validálhassa a request -et. Erre használhatod a `csrf_field` helpert:

<form method="POST" action="/profile">
{{ csrf_field() }}
...
</form>

A `VerifyCsrfToken` [middleware](/docs/{{version}}/middleware), ami része a `web` middleware groupnak automatikusan ellenőrzi, hogy a request -el érkező token megegyezik-e a session -höz tárolttal.

<a name="csrf-excluding-uris"></a>
## URI -k kizárása a CSRF védelemből

Néha szükség lehet rá, hogy bizonyos linkeket kizárj a CSRF védelemből. Például, ha a [Stripe](https://stripe.com) -t használod a fizetéshez egy webhook rendszerrel, akkor kivételre kell tenned azt az url-t amit a webhook meghív, hiszen a Stripe nem mellékelné a CSRF tokent.

Ezeket az URI -kat általában a `web` middleware -n kívülre helyezzük, azonban lehetőség van rá, hogy magában a `VerifyCsrfToken` middlewareben adjuk hozzá az $except tömbbe a kivételekhez:

<?php

namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;

class VerifyCsrfToken extends BaseVerifier
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
'stripe/*',
];
}

<a name="csrf-x-csrf-token"></a>
## X-CSRF-TOKEN

Amellett, hogy a POST paramétereket elenőrzi a `VerifyCsrfToken` middleware, ellenőrzi a `X-CSRF-TOKEN` headert a request -ben. Tárolhatod a CSRF tokent például egy meta teg -ben:

<meta name="csrf-token" content="{{ csrf_token() }}">

Ekkora csak egyszer kell beleraknod a `meta` tag -be, majd felhasználhatod különböző library -kban, például a jQuery -ben, hogy automatikusan adja hozzá az összes lekérdezéshez. Ezzel egyszerűen és kényelmesen védheted az AJAX alapú alkalmazásokat:

$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});

<a name="csrf-x-xsrf-token"></a>
## X-XSRF-TOKEN

A Laravel eltárolja az aktuális CSRF token -t a `XSRF-TOKEN` cookie -ban is, amit minden response -al elküld a keretrendszer. Ezt felhasználhatod arra, hogy beállíthasd az `X-XSRF-TOKEN` -t a fejlécben.

Ez a cookie főként azért létezik, mert néhány Javascript keretrendszer, mint az Angular, automatikusa képes átheyezni az értékét a `X-XSRF-TOKEN` headerbe.
80 changes: 80 additions & 0 deletions hu/documentation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
- Prológus
- [Verzió információk](/docs/{{version}}/releases)
- [Frissítési tudnivalók](/docs/{{version}}/upgrade)
- [Fejlesztői tudnivaók](/docs/{{version}}/contributions)
- [API Dokumentáció](/api/{{version}})
- Kezdés
- [Telepítés](/docs/{{version}}/installation)
- [Beállítás](/docs/{{version}}/configuration)
- [Könytárstruktúra](/docs/{{version}}/structure)
- [Hibák & Logolás](/docs/{{version}}/errors)
- Fejlesztői környezet
- [Homestead](/docs/{{version}}/homestead)
- [Valet](/docs/{{version}}/valet)
- Core Koncepció
- [Service Containerek](/docs/{{version}}/container)
- [Service Providerek](/docs/{{version}}/providers)
- [Facade -ok](/docs/{{version}}/facades)
- [Contractok](/docs/{{version}}/contracts)
- A HTTP Réteg
- [Routing](/docs/{{version}}/routing)
- [Middleware](/docs/{{version}}/middleware)
- [CSRF Védelem](/docs/{{version}}/csrf)
- [Controllerek](/docs/{{version}}/controllers)
- [Requestek](/docs/{{version}}/requests)
- [Response -ok](/docs/{{version}}/responses)
- [Sessionök](/docs/{{version}}/session)
- [Validáció](/docs/{{version}}/validation)
- View -k & Templétek
- [View -k](/docs/{{version}}/views)
- [Blade Templatétek](/docs/{{version}}/blade)
- [Lokalizáció](/docs/{{version}}/localization)
- JavaScript & CSS
- [Alapok](/docs/{{version}}/frontend)
- [Assetek fordítása](/docs/{{version}}/elixir)
- Biztonság
- [Authentikáció](/docs/{{version}}/authentication)
- [Authorizáció](/docs/{{version}}/authorization)
- [Jelszó visszaállítás](/docs/{{version}}/passwords)
- [API Authentikáció](/docs/{{version}}/passport)
- [Encryptelés](/docs/{{version}}/encryption)
- [Hashelés](/docs/{{version}}/hashing)
- Általános témák
- [Broadcasting](/docs/{{version}}/broadcasting)
- [Cache](/docs/{{version}}/cache)
- [Eventek](/docs/{{version}}/events)
- [File Storage](/docs/{{version}}/filesystem)
- [Mail](/docs/{{version}}/mail)
- [Notification -ök](/docs/{{version}}/notifications)
- [Queue -k](/docs/{{version}}/queues)
- Adatbázis
- [Alapok](/docs/{{version}}/database)
- [Query Builder](/docs/{{version}}/queries)
- [Pagination](/docs/{{version}}/pagination)
- [Migration -ök](/docs/{{version}}/migrations)
- [Seedelés](/docs/{{version}}/seeding)
- [Redis](/docs/{{version}}/redis)
- Eloquent ORM
- [Alapok](/docs/{{version}}/eloquent)
- [Kapcsolatok](/docs/{{version}}/eloquent-relationships)
- [Collection -ök](/docs/{{version}}/eloquent-collections)
- [Mutatorok](/docs/{{version}}/eloquent-mutators)
- [Serializáció](/docs/{{version}}/eloquent-serialization)
- Artisan Konzol
- [Parancsok](/docs/{{version}}/artisan)
- [Feladat Ütemezése](/docs/{{version}}/scheduling)
- Tesztelés
- [Alapok](/docs/{{version}}/testing)
- [Application Testing](/docs/{{version}}/application-testing)
- [Adatbázis](/docs/{{version}}/database-testing)
- [Mockolás](/docs/{{version}}/mocking)
- Hivatalos Csomagok
- [Cashier](/docs/{{version}}/billing)
- [Envoy](/docs/{{version}}/envoy)
- [Passport](/docs/{{version}}/passport)
- [Scout](/docs/{{version}}/scout)
- [Socialite](https://github.com/laravel/socialite)
- Függelés
- [Collection -ök](/docs/{{version}}/collections)
- [Helperek](/docs/{{version}}/helpers)
- [Csomagok](/docs/{{version}}/packages)
File renamed without changes.
12 changes: 6 additions & 6 deletions hu/views.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# View

- [Viewk létrehozása](#creating-views)
- [Adat átadások Viewknak](#passing-data-to-views)
- [View -k létrehozása](#creating-views)
- [Adat átadások View -knak](#passing-data-to-views)
- [Adatok megosztása az össze Viewal](#sharing-data-with-all-views)
- [View Composerek](#view-composers)

<a name="creating-views"></a>
## Viewk létrehozása
## View -k létrehozása

A Viewk HTML kódot tartalmaznak amit az alkalmazásod prezetál és külön választja a controllerektől / alkalmazás logikai felépítésétől. A Viewk a `resources/views` könyvtárban találhatók. Egy sima View valahogy igy néz ki:
A View -k HTML kódot tartalmaznak amit az alkalmazásod prezetál és külön választja a controllerektől / alkalmazás logikai felépítésétől. A View -k a `resources/views` könyvtárban találhatók. Egy sima View valahogy igy néz ki:

<!-- View stored in resources/views/greeting.php -->

Expand All @@ -26,7 +26,7 @@ Mivel a view itt van tárolva `resources/views/greeting.php`, így vissza tudunk

Mint ahogy látod, az első átadott paraméter a `view` helpernek a fájl neve amit a `resources/views` könyvtárban tároltunk. A második paraméter egy tömb(array) és így elérhető a view számára. Ebben az esetben a `name` változót adtuk át és a [Blade syntax](/docs/{{version}}/blade) segítségével jelentítettük meg.

Természetesen a viewkat is lehet szeparálni alkönyvtárakba a `resources/views` mappán belül. "Dot" azaz pontokkal fűzve tudunk az alkönyvtárakban megtalálható viewkra hivatkozni. Például ha a viewd `resources/views/admin/profile.php` van tárolva, így tudsz hivatkozni rá:
Természetesen a view -kat is lehet szeparálni alkönyvtárakba a `resources/views` mappán belül. "Dot" azaz pontokkal fűzve tudunk az alkönyvtárakban megtalálható view -kra hivatkozni. Például ha a viewd `resources/views/admin/profile.php` van tárolva, így tudsz hivatkozni rá:

return view('admin.profile', $data);

Expand All @@ -41,7 +41,7 @@ Ha le kell ellenőrizned,hogy egy view létezik-e vagy sem akkor `View` facadeot
}

<a name="passing-data-to-views"></a>
## Adatok átadása Viewknak
## Adatok átadása View -knak

Mint ahogy láttad az előző példában így tudsz átadni egy adat tömböt a viewnak:

Expand Down

0 comments on commit fe46fd9

Please sign in to comment.