Use a smarter approach to logging request referers
This commit is contained in:
parent
33e6edf5c5
commit
8a246a8193
|
|
@ -82,7 +82,7 @@ class ServiceProvider extends ModuleServiceProvider
|
|||
if (!DbDongle::hasDatabase())
|
||||
return;
|
||||
|
||||
EventLog::add($message, $level, json_encode($context));
|
||||
EventLog::add($message, $level);
|
||||
});
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -0,0 +1,9 @@
|
|||
<?php if (count($formModel->referer) > 0): ?>
|
||||
<ul>
|
||||
<?php foreach ($formModel->referer as $referer): ?>
|
||||
<li><?= $referer ?></li>
|
||||
<?php endforeach ?>
|
||||
</ul>
|
||||
<?php else: ?>
|
||||
<p><em>There were no detected referers to this URL.</em></p>
|
||||
<?php endif ?>
|
||||
|
|
@ -14,7 +14,7 @@ class DbSystemRequestLogs extends Migration
|
|||
$table->increments('id');
|
||||
$table->string('url')->nullable();
|
||||
$table->integer('status_code')->nullable();
|
||||
$table->string('referer')->nullable();
|
||||
$table->text('referer')->nullable();
|
||||
$table->integer('count')->default(0);
|
||||
$table->timestamps();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -198,7 +198,7 @@ return [
|
|||
'empty_success' => 'Successfully emptied the request log.',
|
||||
'return_link' => 'Return to request log',
|
||||
'count' => 'Counter',
|
||||
'referer' => 'Referer',
|
||||
'referer' => 'Referers',
|
||||
'url' => 'URL',
|
||||
'status_code' => 'Status',
|
||||
],
|
||||
|
|
|
|||
|
|
@ -19,6 +19,11 @@ class RequestLog extends Model
|
|||
*/
|
||||
protected $guarded = [];
|
||||
|
||||
/**
|
||||
* @var array List of attribute names which are json encoded and decoded from the database.
|
||||
*/
|
||||
protected $jsonable = ['referer'];
|
||||
|
||||
/**
|
||||
* Creates a log record
|
||||
* @return self
|
||||
|
|
@ -27,10 +32,15 @@ class RequestLog extends Model
|
|||
{
|
||||
$record = static::firstOrNew([
|
||||
'url' => Request::fullUrl(),
|
||||
'referer' => Request::header('referer'),
|
||||
'status_code' => $statusCode,
|
||||
]);
|
||||
|
||||
if ($referer = Request::header('referer')) {
|
||||
$referers = (array) $record->referer ?: [];
|
||||
$referers[] = $referer;
|
||||
$record->referer = $referers;
|
||||
}
|
||||
|
||||
if (!$record->exists) {
|
||||
$record->count = 1;
|
||||
$record->save();
|
||||
|
|
|
|||
|
|
@ -11,9 +11,5 @@ columns:
|
|||
label: system::lang.request_log.url
|
||||
searchable: yes
|
||||
|
||||
referer:
|
||||
label: system::lang.request_log.referer
|
||||
searchable: yes
|
||||
|
||||
count:
|
||||
label: system::lang.request_log.count
|
||||
|
|
|
|||
|
|
@ -17,3 +17,4 @@ fields:
|
|||
|
||||
referer:
|
||||
label: system::lang.request_log.referer
|
||||
type: partial
|
||||
Loading…
Reference in New Issue