url 查询中的字符 %7D 是啥意思?

Posted

技术标签:

【中文标题】url 查询中的字符 %7D 是啥意思?【英文标题】:What do the chars %7D mean in an url query?url 查询中的字符 %7D 是什么意思? 【发布时间】:2014-04-25 23:04:46 【问题描述】:

如果我使用 url 访问我的 web 应用程序

/vi/5907399890173952.html

然后它可以工作,但是当我查看日志文件时,googlebot 正在尝试访问一个类似的 url,这会产生异常:

/vi/5907399890173952.html%7D%7D

这是什么意思以及如何将其作为异常处理?来自python的消息是:

 /vi/5251302833520640.html%7D%7D 404 20ms 0kb Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) module=default version=release140319
66.249.67.109 - - [19/Mar/2014:07:53:32 -0700] "GET /vi/5251302833520640.html%7D%7D HTTP/1.1" 404 84 - "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" ms=21 cpu_ms=0 cpm_usd=0.000009 app_engine_release=1.9.1 instance=00c61b117c0bc0f980f2a37a6ac534786055d3ab
E 2014-03-19 15:53:32.678
get() takes exactly 3 arguments (2 given)

我用于 url 的正则表达式是

('/vi/(\d+)(\.html?)?', NewHandler)

更新 140319 21:54 CET

我想我发现了一个 jinja2 模板的泄漏:

scored_document.fields.0.value|safe

我现在用另一个 对其进行了修补。

【问题讨论】:

【参考方案1】:

您需要使用` 而不是"'

例如:

`http://localhost:8080/api/v1/user-profile/$userProfileID/image/upload`

而不是:

"http://localhost:8080/api/v1/user-profile/$userProfileID/image/upload"

【讨论】:

【参考方案2】:

%7D 是 字符的 ASCII 码,它可能是从模板中泄露出来的...

【讨论】:

树枝吓到我了! 我被刀片吓到了! 我刚刚忘记从 js 模板文字中的变量引用中删除 带有 IDE 自动完成功能的 TypeScript 模板让我省心。 浪费了 1 小时检查这个

以上是关于url 查询中的字符 %7D 是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

sql中like是啥意思?

CSS媒体查询中的“唯一屏幕”代码是啥意思? [复制]

PostgreSQL 查询计划中的“Plan Rows: 0”是啥意思?

sql查询中的“%()s”是啥意思?

URL中的冒号“:”是啥意思?

sql注入是啥