nawrasbukhari / restricted
Restricts registration when a user's input (eg: username) matches a list of restricted words
1.0.1
2023-01-01 15:00 UTC
Requires
- php: ^8.0.2
- illuminate/console: ^9.45.1
- illuminate/routing: ^9.45.1
- illuminate/support: ^9.45.1
- illuminate/validation: ^9.45.1
Requires (Dev)
- laravel/pint: ^1.3
README
Restricted allows you to restrict your users from signing up with reserved words.
Reserved words can be:
- Your route segments - Example, you have this route: www.mywebsite.com/login and your application allows to view user profile like this: www.mywebsite.com/username This package can crawl all your routes and return a validation message when a user tries to register with such words like "login"
- Words you just want to reserve - Example: cart, products, admin etc. These words can be added manually to the reserved.txt file. after running the "restricted:index" command.
Installation
To install Restricted use composer
Download
composer require nawrasbukhari/restricted
Publish the config
php artisan vendor:publish --provider="Nawras\Restricted\RestrictedServiceProvider" --tag="config"
Usage
First, we need to crawl and index the application routes by running the command:
php artisan restricted:index
Now, you can simply add restricted to your validations like so:
$this->validate($request, [ 'name' => 'required|string|min:5', 'username' => 'required|restricted' ]);
You can also add a new validation message
$this->validate($request, [ 'name' => 'required|string|min:5', 'username' => 'required|restricted' ],[ 'username.restricted' => 'A user exists with that username. Please try another or add more characters' ]);
Settings
- file_path: (string) File name and path to save the indexed words
- index_level: (int) How deep do u want us to crawl your routes? ExAMPLE => www.mywebsite.com/segment1/segment2/segment3. setting this value to '2', will allow indexing of segment1 and segment2 and exclude segment3
- merge: (bool) should we to merge the new results with the old ones
License
MIT license - free to use and abuse!