想做一个 html ,需要通过特定的后缀访问,例如 xxx/aaa.html?token=woddjwmdkw,需要附加后面的参数访问,不带参数访问返回错误。不知道改怎么实现,服务端用的 nginx
![]() |
1
luffy 2022-09-13 08:58:37 +08:00 ![]() 也许你需要了解下一门叫 java 的编程语言
|
![]() |
2
Radiation 2022-09-13 09:07:25 +08:00
js 有办法获取请求参数,不过前端限制,用处不大,最后加个后端来判断,比如 php ,c#,python 之类的
|
![]() |
3
Ashore 2022-09-13 09:11:52 +08:00
如果没后端的话在 js 中获取下参数,在 js 中判断。
有后端的话交给后端做。 |
![]() |
4
kisshere 2022-09-13 09:13:50 +08:00
既然是 html 后缀,就交给 js 处理 token
|
![]() |
5
cmdOptionKana 2022-09-13 09:15:34 +08:00
你可以先在前端用 js 实现( js 可以获取网址的),在用户量有限的情况下,前端限制也够用了。
如果需要更完善的功能,可以学一下 Node.js, Python, Go 之类的语言,在有 js 基础的前提下学习 Node 应该不会太难。 |
![]() |
6
gtchan13579 2022-09-13 09:15:58 +08:00
php 可以实现,相当于新建一个 php 文件,设置一个判断,然后把 html 页面的代码复制在下面就行了
|
7
xuxuxu123 2022-09-13 09:16:37 +08:00
看下 nodejs 的 koa2 框架,直接脚手架就可以弄一个出来;快得很
|
![]() |
8
villivateur 2022-09-13 09:22:48 +08:00 ![]() Nginx 可以获取到参数的,然后在 Nginx 里判断下参数,不对 return 403 就行
|
9
imicksoft 2022-09-13 09:29:10 +08:00
两个方向
第一、如果不想开发动态网页,那就在服务器加 url 规则,但我这个不了解,你去搜吧 第二、html 是静态网页,服务端做不了什么东西,但动态网页开发有一个 querystring 的东西是取网址问号后的参数的,那就如果没参数就返回错误,动态网页开发有 asp/php/jsp/.net/python/go 等 |
10
stoluoyu 2022-09-13 09:35:20 +08:00
既然是放在 ng 中的静态网页,那就用 ng 获取参数然后处理。
前端网页里 js 来做没啥用。 |
11
wangmn 2022-09-13 09:38:30 +08:00
百度 关键词 nginx auth
|
12
zzzzzzzzzy 2022-09-13 09:40:48 +08:00
nginx 可以执行 lua 代码
|
13
TGl2aWQgIFNC 2022-09-13 09:45:12 +08:00
要求不高,就大概防一下的话,直接前端用 js 判断得了
|
![]() |
14
dudubaba 2022-09-13 10:25:10 +08:00
nginx 里正则一下完事
|
![]() |
15
yaoyao1128 2022-09-13 10:30:57 +08:00 via iPhone
|
16
Archeb 2022-09-13 10:41:07 +08:00
纯前端方案:把网页数据用 aes 加密一下,后面的参数作为密钥,然后 JS 解密输出 html ,参数不对就提示错误。
|
![]() |
17
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 错误返回的网页 |
![]() |
18
Tink 2022-09-13 11:20:09 +08:00
nginx
|
![]() |
19
com781517552 2022-09-13 16:29:56 +08:00
我寻思 JS 不就能做吗
|
![]() |
20
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> |