Download the PHP package fuko-php/masked without Composer
On this page you can find all versions of the php package fuko-php/masked. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download fuko-php/masked
More information about fuko-php/masked
Files in fuko-php/masked
Package masked
Short Description Masks sensitive data: replaces blacklisted elements with redacted values
License MIT
Informations about the package masked
Fuko\Masked
Fuko\Masked is a small PHP library for masking sensitive data: it replace blacklisted elements with their redacted values.
It is meant to be very easy to use. If you have any experience with trying to sanitise data for logging, or cleaning information that is publicly accessible, you know how annoying it is to have passwords or security token popup at various places of your dumps. Fuko\Masked is meant to help with that.
Basic use
In order to use it, you just need to feed your sensitive data (passwords, tokens, credentials) to Fuko\Masked\Protect
...and that's it. The blacklisted values and inputs will be masked. The output of the above code is going to be
How it works ?
Fuko\Masked does two things:
- first, there is the
\Fuko\Masked\Redact
class which is used to mask sensitive data - second,
\Fuko\Masked\Protect
class is used to collect your sensitive data, and redact it
By doing the above, you are going to have redacted content with all the sensitive details blacklisted. You do not need to go looking inside all the dumps you create for passwords or credentials, instead you just register them with \Fuko\Masked\Protect
and that class will mask them wherever it finds them: strings, arrays, big text dumps. It's that simple. The idea is not to have clumsy and overdressed library, but a simple tool that its job well.
Examples
Here are several example of basic Fuko\Masked use cases.
Hide Values
You know where your passwords and credentials are, and you want to blacklist them in any dumps you create. Here's how you would do it:
The sensitive details might be in some nested arrays within the arrays, they are still going to be redacted:
Hide Inputs
At some occasions you know that user-submitted data or other super-global inputs might contain sensitive data. In these cases you do not need to hide the actual value, but you can address the input array instead. In this example we are going to mask the "password" POST value:
Working with Objects
The \Fuko\Masked\Protect::protect()
only works with strings and arrays. If you need to mask the sensitive data in an object dump, you first create the dump and then feed it to Protect::protect()
, like this:
For those classes that have ::__toString()
method implemented, the objects will be cast into strings with that. Here is an example with an exception, and exception classes have that:
Different Masking
You can use \Fuko\Masked\Redact
in your project as the library for masking data. By default the class uses \Fuko\Masked\Redact::disguise()
method for masking, with default settings that masks everything and that uses █
as masking symbol. Here's how you can change its behaviour:
You can set your own callback for masking with \Fuko\Masked\Redact
class:
All versions of masked with dependencies
ext-mbstring Version *