私は CSS3 アコーディオン効果を使用しており、ハッカーがスクリプトを作成して並列リクエストを作成するかどうかを検出したいと考えています。つまり、同じページにログイン フォームと登録フォームがありますが、CSS3: ページにアクセスするには、ユーザー エージェントが HTML5 互換である必要があるため、表示されるのは 1 つだけです。私が使用するヒントは次のとおりです。
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ユーザー向け)私が持っている場合:
class Product:
def info(self):
self.price = 1000
def show(self):
print self.price
>>> car = Product()
>>> car.info()
>>> car.show()
1000
しかし、もし私が別のものを持っているとしたら
class User:
pass
次に、self.price を出力するメソッドを作成するにはどうすればよいprice
ですか?