- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我对 Web 应用程序开发还很陌生,所以这可能是一个 n00b 问题。
似乎大多数网站只会默默地忽略他们不需要或不理解的查询字符串参数。例如,github URI 通常如下所示:
https://github.com/airbnb
现在,如果我只是加上一个伪造的查询字符串,如:
https://github.com/airbnb?foo=bar
页面加载得很好,不会提示查询字符串。
这似乎是一个完全合理的行为,我对其他一些网站进行了现场测试,它们也忽略了无关和/或不需要的查询字符串参数。
我的问题是:
1) 这是大多数 Web 应用程序的正确或实际行为吗? (大概答案是肯定的)
2) 如果 (1) 是肯定的,原因是否只是常识、惯例、简单性等?或者像 HTTP 或 REST 这样的标准在决定如何处理这方面有任何指导或兴趣吗?
备选方案是:
最佳答案
我在开发 Web 应用程序时一直遵循的做法是仅执行预期参数的验证。恕我直言,您甚至不应该读取/解析您不期望的任何参数,因为可能性实际上是无限的。想象一下,可以执行如下查询:
https://github.com/airbnb?foo=bar
还有:
https://github.com/airbnb?fooo=bar
还有:
https://github.com/airbnb?foooo=bar
所以,如果要拒绝每一个不接受的参数,那肯定有点不知所措。忽略甚至不阅读它们应该足够安全。
拒绝包含意外参数的请求也会带来额外的挑战,例如:Google Analytics(以及其他跟踪解决方案)可能会使用额外的参数到达您的网站。
旁注:如果您的应用支持重定向,我建议您阅读以下提示,以防万一:http://guides.rubyonrails.org/security.html#redirection
关于http - Web 应用程序 : should extraneous/unneeded query string arguments just be ignored?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7225083/
所以我浏览了非官方 OpenGL 库的 glimg 部分,发现了一些我觉得很奇怪的东西。在其中一个函数中,一个指针参数被分配给它自己,我看不出这是如何完成任何事情的。这会以某种方式强制内存进入缓存还是
使用npm安装时出现这个错误 npm 和 jquery npm ERR! Cannot read property 'extraneous' of undefined npm ERR! A compl
我是 Swift 的新手。尝试在 Swift 4 beta 版本中编码。 这是我正在尝试的: var testString = "Testing the string" 这很好用: testStrin
我正在使用 npm link从事多个相互依赖的项目。但是,每当我在 node_modules 中有一个链接时, 我得到一堆 npm ERR! extraneous: 当我这样做时的消息 npm li
尝试开始一些 Swift 工作。我正在使用 var imageData = UIImageJPEGRepresentation(image, compressionQuality:1.0) 但我在调用
我知道 UNMET PEER DEPENDENCY 意味着我需要 npm install 我的一个 peerDependency。我相信,extraneous意味着该包存在,但未在package.js
我有一个 UIActivityViewController,我已为其排除(使用 excludedActivityTypes)所有 UIActivityCategoryAction 事件类型。 在 iO
我正在使用一个简单的程序来读取 CSV 文件,不知何故,当我使用 EXCEL 或基于 Windows 的计算机 go 库创建 CSV 时,我发现无法读取它。即使我使用 cat 命令,它也只显示终端上的
当我运行 ESLint 时,出现以下错误: 1:13 error 'joi' should be listed in the project's dependencies. Run 'npm i
使用 SAM(API 网关 + Lambda)构建简单的 Hello World API。有人告诉我 DependsOn 应该适用于所有资源。 API 配置为: HelloWorldAPI:
我正在尝试使用组合 API 从子级向父级发送数据 我收到以下警告。 [Vue warn]: Extraneous non-emits event listeners (updatedcount) we
我正在 Swift Playground 中工作,同时浏览 Apple 网站上的 Swift 文档。具体here.首先,我不得不说这非常具有挑战性,因为他们描述的一些方法不是最新的,并且语法与文档中的
这个问题在这里已经有了答案: When are argument labels required in Swift? (6 个答案) 关闭 6 年前。 考虑下面给出的代码 class divisio
我在调用中得到了无关的参数标签'contentsOf:' array.append(contentsOf: test) 尝试在 playground 中运行此代码时出错: import Cocoa v
运行 terraform init 时出现此错误: Error: Extraneous label for module on rds.tf line 22, in module "rds" "a
我通过将图像转换为 base64 格式将图像发送到服务器。但问题是在发送图像字符串后,字符“+”被空格“”替换。并显示错误: Corrupt JPEG data: 214 extraneous byt
我对 Web 应用程序开发还很陌生,所以这可能是一个 n00b 问题。 似乎大多数网站只会默默地忽略他们不需要或不理解的查询字符串参数。例如,github URI 通常如下所示: https://gi
我正在使用 React 开发 Electron 应用程序,并且正在使用 Typescript、Webpack、Babel 和 ESLint。出于某种原因,我进入了我的 main.js 文件,这是我的捆
我正在尝试从 CDK 在我的 Cloudformation 堆栈中设置 DefaultCacheBehaviorProperty。按照此处的官方文档:link 代码如下: const defaultC
将 OG 标签添加到我们的网站后,我们在调试器中收到以下错误... Linter 错误:无关属性:此类型的对象不允许名为 fb:page_id 的属性。 这是 Linter 链接... http://
我是一名优秀的程序员,十分优秀!