0%

  1. 关闭公开可见性。
    管理员-设置-通用-可见性与访问控制,限制可见性级别勾选【公开】项。

–如果选中,则只有管理员能够创建公开群组、项目和片段。此外,个人资料仅对经过身份验证的用户可见。

  1. 登录失败速率限制。
    /etc/gitlab/gitlab.rb

    1
    2
    3
    4
    5
    6
    7
    8
    9
    gitlab_rails['rack_attack_enabled'] = true

    gitlab_rails['rack_attack_git_basic_auth'] = {
    'enabled' => true,
    'ip_whitelist' => ["127.0.0.1"],
    'maxretry' => 2, # 最大允许失败尝试次数
    'findtime' => 12000, # 时间窗口(秒),在此时间内统计失败尝试
    'bantime' => 3600 # 账户锁定的持续时间(秒)
    }

    限制同一个IP 3小时内只能登录失败两次。

    sudo gitlab-ctl reconfigure // 重载配置
    sudo gitlab-ctl restart // 重启服务

  1. 对多次尝试的IP段封禁。
1
jq -r 'select(.path=="/users/sign_in") | .remote_ip' /var/log/gitlab/gitlab-rails/production_json.log   | sort | uniq -c | sort -nr

对统计出来的IP,筛选出可疑IP,通过IP段封禁。

或者直接取消锁定配置
编辑 /opt/gitlab/embedded/service/gitlab-rails/config/initializers/8_devise.rb (可能是其他数字前缀)
将 unlock_strategy 设为 :none
lock_strategy 设为 :none

这样就不会爆破后Lock并下线,可以强制用户开2FA。

sudo gitlab-ctl reconfigure // 重载配置
sudo gitlab-ctl restart // 重启服务

1
2
3
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env

docker/nginx/ssl/ 放入你自己的域名证书

1
2
dify.crt
dify.key

.env开启https

1
2
NGINX_HTTPS_ENABLED=true
TOP_K_MAX_VALUE=30 // 这项目是topk也要设置大一点

在后台启动 docker-compose.yml 中定义的所有容器服务。

1
2
docker compose up -d
docker compose ps

无需配置域名,解析到服务器,直接访问域名打开dify。

阅读全文 »

菜单栏Code-首选项-设置
搜索 proxy,点在 seetings.json 中编辑。
设置:

1
2
3
"http.proxy": "http://127.0.0.1:7890",
"https.proxy": "http://127.0.0.1:7890",
"http.proxyStrictSSL": false,

使用 crontab -e 编辑时,编辑的都是当前用户的定时任务文件。
里面的任务都会用当前用户身份执行。

Laravel 任务中若创建日志文件,文件也会归 root 所有,但 Web 程序通常以 www 用户运行,无法写入这些日志,导致报错。

正确使用方式:

一种方式是 sudo crontab -u www -e,来编辑www用户的crontab。

另一种方式是 root 的 crontab 任务里通过 sudo -u ,指定用 www 用户身份执行。

1
* * * * * sudo -u www /www/server/php/74/bin/php /www/wwwroot/yourwebsite/artisan schedule:run >> /dev/null 2>&1

// 创建虚拟环境
python3 -m venv sqlrag

// 激活虚拟环境
source sqlrag/bin/activate

// 进入项目目录
cd sqlrag

参考竞争对手的文章标题,用不同的方式表达。

Google搜关键词,通过 People also ask ,点击源站点链接进入源站。
找到相关文章,例如 https://www.indmall.in/hub/photoelectric-sensors/

提示词模板:

1
2
3
4
5
6
7
请根据以下内容重写一篇文章,要求内容逻辑清晰、语句流畅、段落分明,并保持主题一致。同时,优化SEO,适当加入相关关键词,使其更容易被搜索引擎收录。注意原创性,避免完全复制原文。文章需要提供一个全新的标题:

如果原标题包含问号,新标题也需以问号结尾。
如果原标题不含问号,新标题需体现原创性,与原标题不同,同时吸引读者点击。
原文链接:[在此处插入原文链接]

需要优化的关键词包括:[在此处插入关键词列表]。文章长度控制在 [在此处插入字数要求]。文章语言使用[在此处插入语言]。

使用AI时要勾选Web搜索功能。

例子:

1
2
3
4
5
6
7
请根据以下内容重写一篇文章,要求内容逻辑清晰、语句流畅、段落分明,并保持主题一致。同时,优化SEO,适当加入相关关键词,使其更容易被搜索引擎收录。注意原创性,避免完全复制原文。文章需要提供一个全新的标题:

如果原标题包含问号,新标题也需以问号结尾。
如果原标题不含问号,新标题需体现原创性,与原标题不同,同时吸引读者点击。
原文链接:https://www.indmall.in/faq/what-is-a-photoelectric-detector/

需要优化的关键词包括:[Photoelectric Sensors、Telemecanique Sensors]。文章长度控制在 [500字]。文章语言使用[英文]。

如果生成的效果不够优,可以多生成几次,选效果最好的,或者组合使用。

文本模型

环境为Mac mini M4 16GB版本。

用 LM Studio 客户端作为前端,在 huggingface 下载文本模型 phi-4-gguf 版本。

https://huggingface.co/lmstudio-community/phi-4-GGUF/tree/main

模型名称,Q指的是Quantization,可以理解为压缩,值越小,模型智商越低。
值越大,模型体积越大,运行所需资源越多。

注意模型要放在模型文件夹的二级目录内。
在models文件夹内的路径:microsoft/phi-4/phi-4-Q4-K_M.gguf

阅读全文 »