首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问Requesthandler外部的变量

访问Requesthandler外部的变量
EN

Stack Overflow用户
提问于 2012-11-03 06:20:05
回答 1查看 87关注 0票数 0

我正在使用CSS3 accordion effect,我想要检测黑客是否会编写一个脚本来发出并行请求;例如:我在同一个页面中有一个登录表单和一个注册表单,但只有一个是可见的,因为有一个CSS3:要访问该页面,用户代理必须是HTML5兼容的。我使用的提示是:

代码语言:javascript
复制
class Register(tornado.web.RequestHandler): 
    def post(self): 
        tt = self.get_argument("_xsrf") + str(time.time()) 
        rtime = float(tt.replace(self.get_argument("_xsrf"), "")) 
        print rtime 
class LoginHandler(BaseHandler): 
    def post(self): 
        tt = self.get_argument("_xsrf") + str(time.time()) 
        ltime = float(tt.replace(self.get_argument("_xsrf"), "")) 
        print ltime 

我使用了xsrf变量,因为它对每个用户都是唯一的,以避免让服务器认为请求来自同一台机器。现在我想要的是:如何区分时间值:abs(ltime - rtime);意思是,我如何访问类外部的rtime,我只知道如何访问方法外部的值,我想进行这个操作来检测如果值很小,那么用户正在使用一个脚本发出并行请求来杀死服务器!换句话说(对于一般的python用户),如果我有:

代码语言:javascript
复制
class Product: 
   def info(self): 
       self.price = 1000 
   def show(self): 
       print self.price 
>>> car = Product() 
>>> car.info() 
>>> car.show() 

1000 

但如果我有另一个

代码语言:javascript
复制
class User: 
    pass 

那么如何创建一个方法来打印用户,我已经尝试了继承,但得到了错误: AttributeError: self.price实例没有属性'price',所以只传递方法,而不传递属性?

EN

回答 1

Stack Overflow用户

发布于 2012-11-03 22:20:30

听起来您需要了解使用持久数据存储的模型对象和模式。tornado.web.RequestHandler和您从中派生的任何对象只在您的请求期间存在。从从服务器接收到URL到通过self.write()self.finish()将数据发送回浏览器的整个过程。

我建议你看看一些Django或者Flask tutorials,以获得一些关于如何用Python构建MVC应用程序的基本想法(据我所知,没有介绍这方面的Tornado教程)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13203812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档