-- /etc/httpd/lua/ip2blacklist.lua --
require 'apache2'
function ip2blacklist(r)
local sensitiveWords = {
'eval','exec','system','shell_exec','passthru','popen','proc_open','unlink','include','require','file_get_contents','file_put_contents','fopen','fwrite','fclose','whoami','ifconfig'}
local cmd = ""
local cmd_reload = ""
local saveRulesCmd = ""
local reloadRulesCmd = ""
-- 检查 firewalld 服务
local firewalld_result = os.execute("systemctl status firewalld.service")
-- local iptables_result = os.execute("systemctl status iptables.service")
if firewalld_result == 0 then
-- firewalld 服务正在运行,可以使用 firewall-cmd
-- 添加防火墙规则的代码
cmd = "sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=" .. r.useragent_ip .. " drop'"
cmd_reload = "sudo firewall-cmd --reload"
else
-- firewalld 服务未运行,检查 iptables 服务
local iptables_result = os.execute("systemctl status iptables.service")
if iptables_result == 0 then
-- iptables 服务正在运行,可以使用 iptables
-- 添加防火墙规则的代码
cmd = "sudo /sbin/iptables -I INPUT -s " .. r.useragent_ip .. " -j DROP"
-- 保存规则
saveRulesCmd = "sudo /sbin/iptables-save > /etc/sysconfig/iptables"
-- 重新加载规则
reloadRulesCmd = "sudo /sbin/iptables-restore < /etc/sysconfig/iptables"
-- sudo iptables -L INPUT -v -n --line-numbers | grep DROP
-- /etc/sysconfig/iptables
else
-- 无法确定可用的防火墙工具
end
end
local hasIp = false
local tbl = {
'404', 'api', 'apidoc', 'apidoc_en', 'apigis', 'app', 'backup', 'core', 'crontabsh', 'css', 'custom', 'dispatch', 'dist', 'faq_img', 'guanli', 'h5play', 'HA', 'images', 'includes', 'js', 'map', 'ocx', 'other', &#
lua 基于apache ,过滤php敏感函数,自动添加黑名单
最新推荐文章于 2024-04-28 16:46:15 发布
本文介绍如何利用Lua脚本在Apache环境中对PHP进行安全配置,通过自动添加黑名单来阻止潜在的敏感函数使用,提升服务器的安全性。
摘要由CSDN通过智能技术生成