我有一個從中提取資料的陣列。
BLOCK_IP_LIST = [127.0.0.1,127.0.0.2,127.0.0.3]
我不知道該怎么做。
我在 BlockIpMiddleware 中使用 .env BLOCK_IP_LIST 使用 Config>app.php
Config.app.php代碼如
'block_ip' => env('BLOCK_IP_LIST'),
我的BlockIpMiddleware代碼就像
class BlockIpMiddleware
{
public function handle(Request $request, Closure $next)
{
$blockIps = config('app.block_ip');
if (in_array($request->ip(), $blockIps)) {
return response()->json(['message' => "You don't have permission to access this website."]);
}
return $next($request);
}
}
uj5u.com熱心網友回復:
你BlockIpMiddleware沒事
但.env應該看起來像那樣
BLOCK_IP_LIST=127.0.0.1,127.0.0.2,127.0.0.3
里面 app.php
'block_ip' => explode(',', env('BLOCK_IP_LIST')),
爆炸查找,并從字串轉換為陣列。
我的看法
您應該對資料庫執行此操作并將其永久快取,因為您/客戶端可以根據需要隨時添加/洗掉 IP。
uj5u.com熱心網友回復:
將陣列存盤在.env檔案中是不好的,因為它僅用于保存小文本值、存盤和字串陣列,這很可能意味著此串列會隨著時間的推移而增長。但要回答你的問題,有一個技巧可以完成它。
.ENV 檔案
BLOCK_IP_LIST = "127.0.0.1,127.0.0.2,127.0.0.3"
現在為您的Config > app.php檔案:
'block_ip' => explode(',', env('BLOCK_IP_LIST')),
這應該能讓你啟動并運行,記得清除你的配置快取。
uj5u.com熱心網友回復:
您可以將資料保存為 .env 檔案中的 json
BLOCK_IP_LIST={"127.0.0.1","192.168.1.2"}
在您的控制器中,您可以使用訪問您的資料
$black_lists = json_decode(env('BLOCK_IP_LIST'));
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/336390.html
標籤:php 拉拉维尔 环境变量 laravel-8 laravel 中间件
上一篇:陣列檢查物件鍵是否具有相同的值
