def searchMeetPeople(name, auth, maxage=99, sex='b', miniumage=13, range=9999, to=20, _from=0, url='http://chatango.com/search', mobile=False, **kwargs): if to - _from > 20: raise ValueError( 'Paramater "to" cannot be larger than 20 from the paramater "_from" ' ) if not sex.lower() in ['f', 'm', 'b']: raise ValueError('Sex must be the string of \'f\', \'m\', or \'b\'') kw = { 'data': { 'ami': miniumage, 'f': _from, 'ama': maxage, 's': sex.lower(), 't': to, 'r': range } } if not mobile: kwargs['headers'][ "Referer"] = 'http://st.chatango.com/flash/sellers_external.swf' kwargs['cookies'] = make_cookie(name, auth) else: kw['data']['token'] = auth kw['data']['imc'] = 0 kw['data']['app'] = 1 url = 'https:' + url.split(':', 1)[1] kw.update(**kwargs) resp = requests.post(url, **kw) if resp.content.lower() == 'none': raise ValueError('Bad configuration') if resp.content.lower().startswith('unauth'): raise chexceptions.ExpiredAuth('Auth key has expired') for p2 in [ p1 for p1 in resp.content.split('=')[1].split(':') if len(p1) > 0 ]: name, status = p2.split(';') yield (name, bool(int(status)))
def login(request): if request.method == "POST": email = str(request.POST.get('email')) password = str(request.POST.get('password')) user_id = user.is_valid_login(email, password) if user_id: response = HttpResponse('{\"Result\":\"Success\", \"user_id\":\"' + user_id +'\"}') response.set_signed_cookie(key="uID", value=utils.make_cookie(user_id), salt=production.uID_salt) return response response = HttpResponse('False') return response response = HttpResponse() response.status_code = 403 return response
def show_login(): page_name = 'login' if request.method.lower() == 'get': page_content = render_template("login.html") return render_page(page_content, "login") username = request.form.get("username") or "" password = request.form.get("password") or "" verification_code = request.form.get("verification_code") or "" if not (username and password and verification_code): page_content = render_template("login.html", message='Missing field') return render_page(page_content, page_name) if not utils.auth_user(username, password): page_content = render_template("login.html", message='Invalid credentials') return render_page(page_content, page_name) user = utils.check_username(username) seed = utils.generate_seed(username, user["user_ip"]) totp_key = utils.get_totp_key(seed) totp = pyotp.TOTP(totp_key) if verification_code != totp.now(): page_content = render_template("login.html", message='Invalid verification code') return render_page(page_content, page_name) # user/pass/totp all valid by now session_cookie = utils.make_cookie(app.config["COOKIE_SECRET"], username, request.remote_addr) response = app.make_response(redirect("/")) response.set_cookie('session', session_cookie) return response page_content = render_template("login.html") return render_page(page_content, page_name)
def signup(request): if request.method == "POST": email = request.POST.get('email') password = request.POST.get('password') if user.is_valid_email(email): if not user.is_email_already_used(email): user_id = user.insert_user(email, password) if user_id: response = HttpResponse('{\"Result\":\"Success\", \"user_id\":\"' + user_id +'\"}') response.set_signed_cookie(key="uID", value=utils.make_cookie(user_id), salt=production.uID_salt) return response else: response = HttpResponse('{\"Result\":\"Failure\",\"Reason\":\"Invalid User\"') else: response = HttpResponse('{\"Result\":\"Failure\",\"Reason\":\"Email Already Used\"}') return response else: response = HttpResponse('{\"Result\":\"Failure\",\"Reason\":\"Invalid Email\"}') return response response = HttpResponse() response.status_code = 403 return response
def show_login(): page_name = "login" if request.method.lower() == "get": page_content = render_template('login.html') return render_page(page_content, 'login') username = request.form.get('username') or '' password = request.form.get('password') or '' verification_code = request.form.get('verification_code') or '' if not (username and password and verification_code): page_content = render_template('login.html', message="Missing field") return render_page(page_content, page_name) if not utils.auth_user(username, password): page_content = render_template('login.html', message="Invalid credentials") return render_page(page_content, page_name) user = utils.check_username(username) seed = utils.generate_seed(username, user['user_ip']) totp_key = utils.get_totp_key(seed) totp = pyotp.TOTP(totp_key) if verification_code != totp.now(): page_content = render_template('login.html', message="Invalid verification code") return render_page(page_content, page_name) # user/pass/totp all valid by now session_cookie = utils.make_cookie(app.config['COOKIE_SECRET'], username, request.remote_addr) response = app.make_response(redirect('/')) response.set_cookie("session", session_cookie) return response page_content = render_template('login.html') return render_page(page_content, page_name)
def bump(name, auth, **kwargs): return requests.get('http://{}.chatango.com'.format(name), cookies=make_cookie(name, auth), **kwargs)
def set_cookie(self, user): """Set user cookie in headers.""" cookie = utils.make_cookie(user) self.response.headers.add_header( 'Set-Cookie', 'user={}; Path=/'.format(cookie))
def load_session(self, session): from utils import make_cookie self.base_url = '{0}vd{1}/'.format(self.BBS_URL, session.vd) self._cj.set_cookie(make_cookie('_U_KEY', session.key)) self._cj.set_cookie(make_cookie('_U_UID', session.uid)) self._cj.set_cookie(make_cookie('_U_NUM', session.num))