如何从Laravel应用程序中删除敏感信息——LaravelScrubber包

179 阅读1分钟

LaravelScrubber是一个Laravel软件包,用于擦除违反操作安全策略的敏感信息,以免被开发人员意外或不小心泄露。

你可以在几个方面使用这个包。

首先, 这个包可以检测日志信息和上下文模式并擦洗它们:

Log::info('some message', [
    'context' => 'accidental',
    'leak_of' => [
        'jwt' => '<insert jwt token here>'
    ]
]);
 
// testing.INFO: some message {"context":"accidental","leak_of":{"jwt": '**redacted**'}}
 
Log::info('<insert jwt token here>');
 
// testing.INFO: **redacted**

第二,你可以直接使用擦洗器来处理数组中的数据,并将其标记为节录。

Scrubber::processMessage([
    'context' => 'accidental',
    'leak_of' => [
        'jwt' => '<insert jwt token here>'
    ]
]);
 
// [//     "context" => "accidental"//     "leak_of" => [//         "jwt" => "**redacted**"//     ]
// ];
 
Scrubber::processMessage('<insert jwt token here>');
// **redacted**

这个包还提供了自定义选项,比如配置数据被擦写时的替换信息(默认是**redacted** )。你也可以通过添加自定义的regex擦写器来扩展这个包。

你可以从GitHub上的YorCreative/Laravel-Scrubber这个项目开始使用Laravel Scrubber。