Mercurial > p > roundup > code
view website/issues/extensions/timestamp.py @ 6169:6523edf235d4
Remove possible dead js link.
Not sure what this widget is suposed to do. Since it was an http utl
and not https, it was blocked by chrome anyway. So nuke it.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Fri, 15 May 2020 21:11:42 -0400 |
| parents | 35ea9b1efc14 |
| children |
line wrap: on
line source
import time, struct, base64 from roundup.cgi.actions import RegisterAction from roundup.cgi.exceptions import * def timestamp(): return base64.encodestring(struct.pack("i", time.time())).strip() def unpack_timestamp(s): return struct.unpack("i",base64.decodestring(s))[0] class Timestamped: def check(self): try: created = unpack_timestamp(self.form['opaque'].value) except KeyError: raise FormError("somebody tampered with the form") if time.time() - created < 4: raise FormError("responding to the form too quickly") return True class TimestampedRegister(Timestamped, RegisterAction): def permission(self): self.check() RegisterAction.permission(self) def init(instance): instance.registerUtil('timestamp', timestamp) instance.registerAction('register', TimestampedRegister)
