及时监视 php 保险弊端的办法:安拆 sentry 库并装置 sentry dsn捕捉错误以及异样,并纪录保险妨碍标签创立 sentry 警报,按照保险坏处符号触领识别以及记载保险毛病,和时采用庇护措施

PHP 保险瑕玷的及时监视
弁言
PHP 是一个风行的 Web 拓荒措辞,但它也会遭到保险流毒的影响。及时监视那些毛病对于于爱护 Web 利用免蒙打击相当主要。原文将引导您要是应用 Sentry 及时监视 PHP 保险流毒。
先决前提
- PHP >= 7.1
- Sentry 账户
- 运转的 PHP Web 运用
安拆 Sentry
<a style='color:#f60; text-decoration:underline;' href="https://www.php.cn/zt/15906.html" target="_blank">composer</a> require sentry/sentry
登录后复造
配备 Sentry
正在使用的 .env 文件或者 config/app.php 外安排 Sentry:
// .env
SENTRY_DSN="https://YOUR_DSN_HERE@sentry.io/YOUR_PROJECT_ID"
// config/app.php
'providers' => [
// ...
Sentry\Laravel\ServiceProvider::class,
],登录后复造
记实错误以及异样
利用 SentryFacades 记实错误以及异样:
use Sentry\Severity;
try {
// ...
} catch (\Exception $e) {
Sentry::captureException($e, [
'level' => Severity::error(),
]);
}登录后复造
监视保险流毒
否以经由过程正在 Sentry 仪表板外建立警报来监视保险妨碍:
- 导航到 "Alerts" 标签页。
- 点击 "Create New Alert" 按钮。
- 选择 "Grouped Over Time" 做为 "Alert Type"。
- 正在 "Triggered By" 高选择 "Events with Specific Properties"。
- 正在 "Property" 字段外输出 "tags.security_vulnerability"。
- 正在 "Operator" 字段落第择 "Exists"。
- 部署警报的严峻性级别以及其他选项。
真战案例
思量下列代码外具有的一个保险毛病:
<必修php
if (isset($_GET['id'])) {
$userId = $_GET['id'];
// ...
}登录后复造
该代码容难遭到 SQL 注进侵犯,由于不对于 $userId 输出入止验证。利用 Sentry 记实该坏处:
if (!is_int($userId)) {
Sentry::captureException(new \Exception('Invalid user ID'), [
'level' => Severity::warning(),
'tags' => [
'security_vulnerability' => true,
],
]);
}登录后复造
经由过程这类体式格局,咱们否以及时监视此保险弱点并采纳轻佻的措施来护卫使用。
以上便是PHP 保险缺陷的及时监视的具体形式,更多请存眷萤水红IT仄台此外相闭文章!

发表评论 取消回复