def cookies_auto(func, cookiename): users = r_session.smembers(cookiename) if users is not None and len(users) > 0: for user in users: try: cookies = json.loads(user.decode('utf-8')) session_id = cookies.get('sessionid') user_id = cookies.get('userid') user_info = cookies.get('user_info') func(cookies, dict(sessionid=session_id, userid=user_id), user_info) except Exception as e: print(e) continue
def get_cookie_values(cookies, *cookie_names): cookie_values = [] for cookie_name in cookie_names: if cookie_name in cookies: cookie_values.append(cookies.get(cookie_name).value) else: cookie_values.append(None) return cookie_values
def add_cookie2_to_old_visit(uid_set=None, timestamp=None, ip=None, cookies=None, path=None, query_str=None, referrer=None, user_agent=None, **kwargs): import traffic.lib if not (timestamp and ip and uid_set): return # Build a set of characteristics to use to find in the database the same request Nginx saw. selectors = {'visitor__ip': ip} if path: selectors['path'] = path if query_str: selectors['query_str'] = query_str if referrer: selectors['referrer'] = referrer if user_agent: selectors['visitor__user_agent'] = user_agent if cookies and COOKIE1_NAME in cookies: selectors['visitor__cookie1'] = cookies.get(COOKIE1_NAME).value visit = find_visit_by_timestamp(timestamp, selectors) if not visit: logging.warn( 'Looked in the traffic database but could not find the visit corresponding to the ' 'request logged by Nginx.') return cookie2 = get_cookie_from_uid(uid_set) visit.cookies_set.add(cookie2) visit.save() logging.info( 'Successfully identified the visit corresponding to the Nginx request and added ' 'cookie {}.'.format(cookie2)) return
#!/usr/bin/env python import http.cookies, os cookstr = os.environ.get("HTTP_COOKIE") cookies = http.cookies.SimpleCookie(cookstr) usercook = cookies.get("user") if usercook == None: cookies = http.cookies.SimpleCookie() cookies['user'] = '******' print(cookies) greeting = '<p>His name shall be.. %s</p>' % cookies['user'] else: greeting = '<p>Welcome back, %s</p>' % usercook.value print('Content-type: text/html\n') print(greeting)
""" create or use a client-side cookie storing username; there is no input form data to parse in this example """ import http.cookies, os cookstr = os.environ.get("HTTP_COOKIE") cookies = http.cookies.SimpleCookie(cookstr) usercook = cookies.get("user") # fetch if sent if usercook == None: # create first time cookies = http.cookies.SimpleCookie() # print Set-cookie hdr cookies['user'] = '******' print(cookies) greeting = '<p>His name shall be... %s</p>' % cookies['user'] else: greeting = '<p>Welcome back, %s</p>' % usercook.value print('Content-type: text/html\n') # plus blank line now print(greeting) # and the actual html
def get_team_from_event(event): cookies = get_cookies(event) if not cookies.get(TEAM_COOKIE_KEY): return None team_id = cookies[TEAM_COOKIE_KEY] return load_team(team_id)
#!/usr/bin/python3 import http.cookies, os cookstr = os.environ.get("HTTP_COOKIE") cookies = http.cookies.SimpleCookie(cookstr) usercook = cookies.get('user') if usercook == None: cookies = http.cookies.SimpleCookie() cookies['user'] = '******' print(cookies) greeting = "<p>His name shall be ... %s</p>" % cookies['user'] else: greeting = "<p>Welcome back, %s</p>" % usercook.value print('Content-Type: text/html\r\n') print(greeting)
def is_auth(self): cookies = self.get_cookies() return ((cookies.get("user") == "Bob") or (cookies.get("user") == "Billy") or (cookies.get("user") == "admin"))
import http.cookies, os cookstr = os.environ.get("HTTP_COOKIE") cookies = http.cookies.SimpleCookie(cookstr) usercook = cookies.get("user") if usercook == None: cookies = http.cookies.SimpleCookie() cookies['user'] = '******' print(cookies) greeting = '<p>His name shall be...%s</p>' % cookies['user'] else: greeting = '<p>Welcome back, %s</p>' % usercook.value print('Content-type: text/html\n') print(greeting)
#!/usr/bin/python """ create or use a client-side cookie storing username; there is no input form data to parse in this example """ import http.cookies import os cookstr = os.environ.get('HTTP_COOKIE') cookies = http.cookies.SimpleCookie(cookstr) user = cookies.get('user') # create if no cookie if user is None: cookies = http.cookies.SimpleCookie(cookstr) cookies['user'] = '******' # printing to stdout, this will set the cookie print(cookies) greeting = '<p>His name shall be... %s</p>' % cookies['user'].value else: greeting = '<p>Welcome back, %s</p>' % user.value print('Content-type: text/html\n') print(greeting) """ To test cookies from urllib module: from urllib.request import urlopen import urllib.request as urllib opener = urllib.build_opener(urllib.HTTPCookieProcessor())
#!/usr/bin/env python3 # -*- coding: utf-8 -* import cgi import html import http.cookies import os from _wall import Wall wall = Wall() cookies = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE")) session = cookies.get("session") if session is not None: session = session.value user = wall.find_cookie(session) form = cgi.FieldStorage() action = form.getfirst("action", "") if action == "publish": text = form.getfirst("text", "") #text = html.escape(text) if text and user is not None: wall.publish(user, text) elif action == "login": login = form.getfirst("login", "") login = html.escape(login) password = form.getfirst("password", "") password = html.escape(password) if wall.find(login, password): cookie = wall.set_cookie(login)
def is_auth(self): cookies = self.get_cookies() return (cookies.get("normal_user1") == "ok") or (cookies.get("normal_user2") == "ok") or (cookies.get("admin") == "ok")
def is_auth_admin(self): cookies = self.get_cookies() return cookies.get("admin") == "ok"
def is_auth_normal_user2(self): cookies = self.get_cookies() return cookies.get("normal_user2") == "ok"
def find_cookie(self, cookie): """По куке находит имя пользователя""" with open(self.COOKIES, 'r', encoding='utf-8') as f: cookies = json.load(f) return cookies.get(cookie)