如何区分普通CGI中的GET和POST

时间:2014-07-29 04:06:05

标签: python cgi

我以前学过一些编程语言,比如J2EE,我熟悉PHP等。

大多数语言都有从POST或GET中提取数据的特定方法。 PHP有$_POST& J2EE $_GET& doGet()数组doPost()方法。

在学习Python时,我发现GET和POST中的数据都可以使用abc = cgi.FieldStorage()提取,然后进行评估。现在,如果我使用这个网站,不会有安全漏洞吗?假设页面使用POST获取数据,但是某些用户直接进入页面并在URL中提供一些GET数据。

那么,有没有办法可以在不使用像Django这样的框架的情况下检查网页是否收到POST或GET请求?我发现它可以使用Django或其他框架完成,但我试图找到一个通用的Python解决方案。

1 个答案:

答案 0 :(得分:3)

CGI通过well-known environment variables传递元数据。在这种情况下," GET / POST"信息通过REQUEST_METHOD提供。

可以这样访问

import os
print os.environ['REQUEST_METHOD']

(还有SCGI / WSGI / FastCGI / etc.个协议,每个协议都有自己的设计和规则。)