Python Flask框架 BtPanel 自动封禁IP脚本
有个需求需要调用宝塔自带 API 去根据策略封禁 IP,没找到相关API 接口,只能研究手搓一个了。
宝塔 WAF 的全局黑名单封禁规则文件有两个 ip_black.json 和 ip_black_v6.json'
封禁规则为 JSON 文件规则IPV4 为 一个起始 IP 和 一个结束 IP 以及备注 IP 值需要将点分十进制表示的IP地址转为整数形式IPV6 为 一个 IPV6 地址 以及备注
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182from flask import Flask, request, jsonifyimport jsonimport structimport socketimport osfrom datetime import datetimeapp = Flask(__name__ ...
Mac使用中突然卡死
长时间使用 Mac 偶尔会发现系统突然卡死 小彩虹一直转 点开什么软件都崩溃 卡的要命
以前只能顶着卡顿重启电脑。
emmm 简单查询了一下 感觉到了 Mac 中文输入法对我深深的恶意
Mac 中文输入法会导致系统卡死 (Bug)
解决方案 最优质的是 直接不用它!(虽然实话挺好用的)下载个别的输入法替代
还有一个稍微有点麻烦的办法
直接贴链接了 https://www.zhihu.com/question/434229640
ThinkPHP6 hasWhere()后使用 field() 失效的问题
在ThinkPHP6框架中使用haswhere()方法 后再使用field方法 冲突的字段名将无法过滤正确的应该是在haswhere的第三个参数中写入要限制的字段之后的方法中如果两个模型存在相同的字段需要加上表名前缀或模型名前缀
常见报错 :Integrity Constraint Violation: 1052 Column ‘XXXX.id’ In Where Clause Is Ambiguous
代码
123$userData->hasWhere('user',function (Query $query) use ($data){ $query->where('username', 'like', '%'.$data.'%');},'id,create_time');
Xcode M2 芯片 build 报错
编译报错环境 :系统 Mac M2Xcode版本 14.3
building for iOS Simulator-arm64 but attempting to link with file built for iOS Simulator-x86_64 译文 为 iOS Simulator-arm64 构建,但尝试链接为 iOS Simulator-x86_64 构建的文件
第一步:Xcode->Prodoct->Destination->Destination Architectures -> Show Rosetta Destinations
第二步:
检查项目文件配置 Targets 中 需构建项目的 Build Setting 中的 Architectures添加一个other 为 x86_64重新编译
LeetCode - 两数之和
1. 两数之和难度简单
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
示例 1:
输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
示例 2:
输入:nums = [3,2,4], target = 6输出:[1,2]
示例 3:
输入:nums = [3,3], target = 6输出:[0,1]
提示:
2 <= nums.length <= 104
-109 <= nums[i] <= 109
-109 <= target <= 109
只会存在一个有效答案
进阶:你可以想出一个时间复杂度小于 O(n2) 的算法吗?
[1题 自解题思路 ...
Golang中使用Viper
第一步:安装Golang Viper
terminal终端 运行 go get github.com/spf13/viper
第二步 基础配置
12345678910111213141516171819ViperInstance := viper.New() ViperInstance.SetConfigName("config") //设置配置文件名字ViperInstance.SetConfigType("json") //设置配置文件类型ViperInstance.AddConfigPath(".") //设置配置文件路径ViperInstance.OnConfigChange(func(e fsnotify.Event) { fmt.Println("Config file changed:", e.Name) })ViperInstance.WatchConfig() //开启修改后自动重读配置ConfigStatus := true //设置一个配置文件 ...
C# CefSharp WPF 浏览器置cookie字符串方法
1234567891011121314151617181920212223var cookieManager = Cef.GetGlobalCookieManager();cookieManager.SetStoragePath(GetAppDir("Cache"), false); /*true为保存cookie*/cookieManager.SetSupportedSchemes(new string[] { "http" , "https" });string[] arrcookies;/*Common.setcookie 为将要cookies字符串*/if (!Common.setcookie.IsNullOrEmpty()){ arrcookies = Common.setcookie.Split(';'); int intEachCookPartsCount = arrcookies.Length; for (int i = 0; i < i ...