| Recommend this page to a friend! |
| Info | Documentation | Reputation | Support forum | Blog | Links |
| Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
| 2025-07-28 (-1 hours ago) | Not yet rated by the users | Total: 82 | All time: 10,085 This week: 660 | |||||
| Version | License | PHP version | Categories | |||
| notallowed 1.0.2 | Custom (specified... | 7.2 | PHP 5, Validation |
| Description | Author | |
This package can detect and filter unwanted information. |
NotAllowed is a simple, lightweight PHP 8.1 library that helps you censor words, profane words, blacklisted IPs, forbidden usernames, banned bank card numbers, etc.
You can easily add new specific keywords (such as IPs, usernames, bank accounts, words, etc.) to be banned in ~/src/banned-data/* folder.
composer require ph-7/notallowed
Simple example of what you can do with NotAllowed ?
use PH7\NotAllowed\Ban;
if (Ban::isUsername('admin')) {
echo '"admin" is not allowed as username.';
}
if (Ban::isEmail('[email protected]')) {
echo '"@spamhole.com" domain is considered a spam email host.';
}
if (Ban::isWord('He is an asshole')) {
echo 'Please watch your mouth :-)';
}
if (Ban::isIp('1.170.36.229')) {
echo 'This IP address is blacklisted';
}
$userInput = 'admin';
if (Ban::isUsername($userInput, ['root', 'sudo', 'admin'])) {
echo "$userInput is not allowed";
}
// Check if $userInput contains a banned word OR a banned username
if (Ban::isAny($userInput, email: false, word: true, username: true)) {
echo "$userInput is not allowed";
}
You can supply your own values to be merged with the out-of-box banned data in 2 ways:
$scope refers to the category of data. Possible values are currently:
- usernames
- words
- ips
- emails
- bank_accounts
<details> <summary>Example</summary>
Ban::merge('usernames', ['pooter', 'hitler', '690']);
Ban::merge('words', ['cuck', 'bomb']);
Ban::mergeFile('emails', './my_banned_emails.txt');
</details>
Now simply validate per normal conventions.
[Pierre-Henry Soria][author-url], a highly passionate, zen & cool software engineer ?
[![@phenrysay][twitter-image]][twitter-url]
soulshined - just a coder
[pH7Builder][ph7cms-url], a social dating webapp builder. Used here: https://github.com/pH7Software/pH7-Social-Dating-CMS/blob/master/_protected/framework/Security/Ban/Ban.class.php.
Generously distributed under [MIT License][license-url]! ?
<!-- GitHub's Markdown reference links --> [author-url]: https://pierrehenry.be [ph7cms-url]: https://ph7cms.com [license-url]: https://opensource.org/licenses/MIT [twitter-image]: https://img.shields.io/twitter/url/https/shields.io.svg?style=social [twitter-url]: https://twitter.com/phenrysay
| File | Role | Description | ||
|---|---|---|---|---|
| Data | Auxiliary data | |||
| Lic. | License text | |||
| Data | Auxiliary data | |||
| Doc. | Documentation | |||
| / | src | / | banned-data |
| File | Role | Description |
|---|---|---|
| |
Doc. | Documentation |
| |
Lic. | License text |
| |
Doc. | Documentation |
| |
Doc. | Documentation |
| |
Doc. | Documentation |
| |
Doc. | Documentation |
| / | tests | / | fixtures |
| File | Role | Description |
|---|---|---|
| |
Doc. | Documentation |
| |
Doc. | Documentation |
| The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
| Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
| 100% |
|
|
| Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.