为什么php框架限制url字符
参见英文答案 >
What are the security risks of allowing all characters in the website URL?????????????????????????????????????2个
我一直在搜索为什么这是真的(来自codeigniter的默认配置文件). 我想知道为什么codeigniter就像这个URL清理一样非常重要.不要把它关掉,但是为了好奇并且知道它是否可以使用没有这个功能的框架. /* |-------------------------------------------------------------------------- | Allowed URL Characters |-------------------------------------------------------------------------- | | This lets you specify with a regular expression which characters are permitted | within your URLs. When someone tries to submit a URL with disallowed | characters they will get a warning message. | | As a security measure you are STRONGLY encouraged to restrict URLs to | as few characters as possible. By default only these are allowed: a-z 0-9~%.:_- | | Leave blank to allow all characters -- but only if you are insane. | | DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!! | */ 我到目前为止看到的唯一原因是: >黑客是有创造力的,所以不要把它关掉 第一和第五个原因基本上是非选区.为什么网址?如果时髦的URL没有安全问题,则他们不需要黑名单,因此他们不需要此白名单.如果奇怪的URL不能破解你的网站,那么他们的时间允许他们创造性的无害实验,而不是强迫他们转移到实际上能够揭示安全漏洞的东西,这将是一个浪费. 第二个原因有缺陷有两个原因;首先,这个清理不会用在查询字符串或POST数据上,这是您希望找到大多数注入尝试的地方.其次,这并没有逃脱这些角色,它否认任何包括它们在内的请求.如果Stack Overflow因页面加载而被杀,我会很沮丧,因为我的帖子包含了撇号. 原因三和四根本不适用.原因三是用户会认为他们会访问yoursite.com并最终进入hacker.com.您无法阻止此操作,您永远不会收到请求.同样,数字4似乎是由于误解这是生成URL而不是解析它们而导致的.此代码解析了您可以确定的有效URL. Codeigniter在运行此正则表达式之前解码URI字符. 所以这些是我听到的答案,我要么不理解它们,要么就是有一个我尚未找到的真正原因,或者代码几乎没用.有谁可以开导我的安全专家? 解决方法
图片.如果你编写的框架由于编码器的编码实践很差而一直受到损害,那么你就不会有一个成功的框架.一旦营销形象受到污染,就不容易解释“这是CODERS的错误!”.成功的框架不会受到损害,默认情况下会提供一组基本的安全增强功能.就个人而言,我更倾向于从一个锁定的框架开始,只是破坏特定区域,而不是因为已知的漏洞而经常受到攻击的框架(这就是框架最终在已知的漏洞利用列表中)
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |