新手创建网页的疑问

2022-09-13 08:43:17 +08:00
 iloveMonica

想做一个 html ,需要通过特定的后缀访问,例如 xxx/aaa.html?token=woddjwmdkw,需要附加后面的参数访问,不带参数访问返回错误。不知道改怎么实现,服务端用的 nginx

3345 次点击
所在节点    程序员
20 条回复
luffy
2022-09-13 08:58:37 +08:00
也许你需要了解下一门叫 java 的编程语言
Radiation
2022-09-13 09:07:25 +08:00
js 有办法获取请求参数,不过前端限制,用处不大,最后加个后端来判断,比如 php ,c#,python 之类的
Ashore
2022-09-13 09:11:52 +08:00
如果没后端的话在 js 中获取下参数,在 js 中判断。
有后端的话交给后端做。
kisshere
2022-09-13 09:13:50 +08:00
既然是 html 后缀,就交给 js 处理 token
cmdOptionKana
2022-09-13 09:15:34 +08:00
你可以先在前端用 js 实现( js 可以获取网址的),在用户量有限的情况下,前端限制也够用了。

如果需要更完善的功能,可以学一下 Node.js, Python, Go 之类的语言,在有 js 基础的前提下学习 Node 应该不会太难。
gtchan13579
2022-09-13 09:15:58 +08:00
php 可以实现,相当于新建一个 php 文件,设置一个判断,然后把 html 页面的代码复制在下面就行了
xuxuxu123
2022-09-13 09:16:37 +08:00
看下 nodejs 的 koa2 框架,直接脚手架就可以弄一个出来;快得很
villivateur
2022-09-13 09:22:48 +08:00
Nginx 可以获取到参数的,然后在 Nginx 里判断下参数,不对 return 403 就行
imicksoft
2022-09-13 09:29:10 +08:00
两个方向
第一、如果不想开发动态网页,那就在服务器加 url 规则,但我这个不了解,你去搜吧
第二、html 是静态网页,服务端做不了什么东西,但动态网页开发有一个 querystring 的东西是取网址问号后的参数的,那就如果没参数就返回错误,动态网页开发有 asp/php/jsp/.net/python/go 等
stoluoyu
2022-09-13 09:35:20 +08:00
既然是放在 ng 中的静态网页,那就用 ng 获取参数然后处理。
前端网页里 js 来做没啥用。
wangmn
2022-09-13 09:38:30 +08:00
百度 关键词 nginx auth
zzzzzzzzzy
2022-09-13 09:40:48 +08:00
nginx 可以执行 lua 代码
TGl2aWQgIFNC
2022-09-13 09:45:12 +08:00
要求不高,就大概防一下的话,直接前端用 js 判断得了
dudubaba
2022-09-13 10:25:10 +08:00
nginx 里正则一下完事
yaoyao1128
2022-09-13 10:30:57 +08:00
Archeb
2022-09-13 10:41:07 +08:00
纯前端方案:把网页数据用 aes 加密一下,后面的参数作为密钥,然后 JS 解密输出 html ,参数不对就提示错误。
oott123
2022-09-13 10:42:38 +08:00
nginx 配置:

map $arg_token $secret_path {
"woddjwmdkw" /my_very_secret_file_name.html;
default /access_denied.html;
}

# ....

server {
# ...
location /aaa.html {
root /usr/share/nginx/secret/path;
try_files $secret_path =404;
}
# ...
}


然后在 /usr/share/nginx/secret/path 下放两个文件,一个叫 my_very_secret_file_name.html ,一个叫 access_denied.html ,前者是你的网页,后者是 token 错误返回的网页
Tink
2022-09-13 11:20:09 +08:00
nginx
com781517552
2022-09-13 16:29:56 +08:00
我寻思 JS 不就能做吗
pytth
2022-09-13 17:17:17 +08:00
html+js 可以做

<!DOCTYPE html>
<html>
<head>
<title>demo</title>
<meta charset="utf-8">
</head>
<body>

<h1>test</h1>

<script type="text/javascript">
window.onload=function() {

// 截取 url 的 token
const url = window.location.href;
const token_ = url.split('?')[1];
const token=new URLSearchParams(token_).get('token')

// 判断 token 是否为空
if (token) {
alert(token)
}else{
alert('没有 token')
}
}
</script>
</body>
</html>

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/879586

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX