服务器端Openresty的Lua 脚本动态生成 HTML 页面

使用服务器端的 Lua 脚本来动态生成 HTML 页面,并在生成页面时传递重定向参数。这种方法不涉及客户端 JavaScript,而是在服务器端完成重定向参数的设置。

以下是修改后的示例:

nginx 复制代码
# 人机验证页面
location /captcha {
    default_type 'text/html';
    content_by_lua_block {
        local redirect_to = ngx.var.arg_redirect_to or "/"
        ngx.print([[
            <!DOCTYPE html>
            <html lang="en">
            <head>
                <meta charset="UTF-8">
                <meta name="viewport" content="width=device-width, initial-scale=1.0">
                <title>CAPTCHA Verification</title>
                <script src="https://www.google.com/recaptcha/api.js" async defer></script>
            </head>
            <body>
                <form action="/verify_captcha" method="POST">
                    <div class="g-recaptcha" data-sitekey="your_site_key"></div>
                    <br/>
                    <input type="hidden" name="redirect_to" value="]] .. redirect_to .. [[">
                    <input type="submit" value="Submit">
                </form>
            </body>
            </html>
        ]])
    }
}

这样,无论用户是否启用 JavaScript,页面都能正常工作。同时,服务器端代码也更加简洁明了,不需要在客户端执行 JavaScript。

相关推荐
我命由我1234521 小时前
微信开发者工具 - 模拟器分离窗口与关闭分离窗口
前端·javascript·学习·微信小程序·前端框架·html·js
我有一棵树1 天前
file 协议与 http 协议的区别:为什么本地 HTML 无法加载相对路径 JS,以及正确的解决方式
javascript·http·html
华仔啊1 天前
图片标签用 img 还是 picture?很多人彻底弄混了!
前端·html
合作小小程序员小小店1 天前
网页开发,在线%新版本旅游管理%系统,基于eclipse,html,css,jquery,servlet,jsp,mysql数据库
java·数据库·eclipse·html·intellij-idea·旅游·jsp
风止何安啊1 天前
收到字节的短信:Trae SOLO上线了?尝尝鲜,浅浅做个音乐播放器
前端·html·trae
emo了小猫1 天前
Redis 执行 Lua 脚本过程中报错,会发生什么
redis·junit·lua
今日无bug1 天前
🥁 用 HTML5 打造你的第一个“敲击乐” Web 应用
html
李@十一₂⁰2 天前
HTML 特殊字体符号
前端·html
小小测试开发2 天前
JMeter XPath2 Extractor用法全解析:精准提取XML/HTML响应数据
xml·jmeter·html
不会玩电脑的Xin.2 天前
HTML + CSS
前端·css·html