我目前正在提高我对HTML,PHP,JavaScript等安全漏洞的了解.几个小时前,我/e在正则表达式中偶然发现了修饰符,但我仍然无法理解它是如何工作的.我已经看了一下文档,但这并没有真正帮助.
我理解的是,可以操纵此修饰符以使某人有机会执行PHP代码(例如,preg_replace()).我已经看到以下示例描述了一个安全漏洞,但没有解释,所以有人可以解释一下如何调用phpinfo()以下代码吗?
$input = htmlentities("");
if (strpos($input, 'bla'))
{
echo preg_replace("/" .$input ."/", $input ."<img src='".$input.".png'>", "bla");
}
Run Code Online (Sandbox Code Playgroud) 我目前正在尝试通过其子值对多维数组进行排序.该数组的结构是:
[0] => Array
(
[id] => 87
[sold] => 50
[stock] => 991
[speed] => 1.5
[days_left] => 660.66666666667
)
[1] => Array
(
[id] => 97
[sold] => 20
[stock] => 120
[speed] => 1.2
[days_left] => 100
)
[2] => Array
(
[id] => 36
[sold] => 2
[stock] => 1020
[speed] => 1.02
[days_left] => 1000
)
Run Code Online (Sandbox Code Playgroud)
我正在使用的代码是:
usort($data, function($a, $b) { return $a[$_GET['sortby']] - $b[$_GET['sortby']]; });
Run Code Online (Sandbox Code Playgroud)
其中$ _GET ['sortby']变量等于键.
到目前为止一切都很好,everthing工作,它正确地排序所有值除了速度!首先,我认为它与十进制数有关,但days_left也包含小数,并且排序正确..:/
正确的输出(days_left):
[0] => Array
( …Run Code Online (Sandbox Code Playgroud) 我已经开始使用 Filament PHP 创建基于 Laravel 的 Intranet 应用程序,但偶然发现了一个我无法使用官方文档回答自己的问题:
在资源视图页面内显示关系数据的最简单方法是什么?
我有两个资源 ClientResource 和 ProjectResource,这会产生两个 Laravel 关系:
客户端型号:
public function projects(): HasMany
{
return $this->hasMany(Project::class);
}
Run Code Online (Sandbox Code Playgroud)
项目型号:
public function client(): BelongsTo
{
return $this->belongsTo(Client::class);
}
Run Code Online (Sandbox Code Playgroud)
我在项目资源中实现了BelongsToSelect字段来分配客户:
Components\BelongsToSelect::make('client')
->relationship('client', 'first_name')
->required(),
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切工作正常,但(显然)我在项目的视图页面上只能看到显示客户名字的禁用选择字段。我想列出所有相关字段。我是否错过了文档中的一些重要内容或者解决此问题的最佳方法是什么?
我查看了 RelationManager 但似乎只有一个ownToMany关系(没有ownTo)。