Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/omnicode/lara-form

Laravel Forms with Form-Tampering protection
https://github.com/omnicode/lara-form

form laravel security tampering

Last synced: about 2 months ago
JSON representation

Laravel Forms with Form-Tampering protection

Awesome Lists containing this project

README

        

## Lara Form - Laravel Form Package with Form Tampering protection

LaraForm is a Laravel Form wrapper with convenient methods, that includes **Form Tampering protection** and prevents double form submission.

## Contents

2. Installation
3. Quick start
3. Security
4. Helpers
* Create Form
* Text Input
* Textarea
* Select
* Checkbox
* Radio Buttons
* Hidden
* Password
* close
* buttons
5. License

## Installation

At `composer.json` of your Laravel installation, add the following require line:

``` json
{
"require": {
"omnicode/lara-form": "~0.0"
}
}
```

Run `composer update` to add the package to your Laravel app.

### Laravel 5.0

At `config/app.php`, add the Service Provider and the Facade:

```php
'providers' => [
// ...
'LaraForm\ServiceProvider\LaraFormServiceProvider'
]

//...

'aliases' => [
'LaraForm' => 'LaraForm\Facades\LaraForm'
]
```

### Laravel 5.1+

At `config/app.php`, add the Service Provider and the Facade:

```php
'providers' => [
LaraForm\ServiceProvider\LaraFormServiceProvider::class,
]

//...

'aliases' => [
'LaraForm' => LaraForm\Facades\LaraForm::class,
]
```

## Quick start

To create a simple form

```php
{!! LaraForm::create($model, ['action' => route('posts.create') ]) !!}

{!! LaraForm::input('email') !!}

{!! LaraForm::submit('Submit') !!}

{!! LaraForm::end() !!}
```

## Security

LaraForm has form tampering protection, this ensures that

- Unknown fields cannot be added to the form
- Existing fields cannot be removed from the form
- Values of hidden inputs cannot be changed

Please note, however, that it will not prevent adding new values to select dropdown or radio buttons - this information should be validated by Laravel Validations

It also prevents submitting the same form twice (server side implementation)

## Helpers

### Create Form

@TODO