def getSubjName(req): session = Session.Session(req) a = doSql() f = a.execqry("select getsubjname('" + session['sCode'] + "')", False)[0][0] return f
def index(req): fp=open(data.path+"/project_data/staff_log.html","r"); st=fp.read(); session = Session.Session(req); session.delete() session.cleanup() return st;
def rmColumn(req): session = Session.Session(req) GET = mod_python.util.parse_qs(req.args) session[GET[u'KEY'][0]].pop(int(GET[u'INDEX'][0])) session.save() print session[GET[u'KEY'][0]] return str(GET)
def headerparserhandler(req): options = req.get_options() if options.has_key('Realm'): realm = options['Realm'] else: apache.log_error('no realm specified') return apache.DECLINED sess = Session.Session(req, lock=0) sess.set_timeout(SESSION_TIMEOUT) sess.lock() username = session_user(sess, realm) if None == username and realm == 'Reports': username = session_user(sess, 'Administrator') if None == username and realm == 'SetupWizard': username = session_user(sess, 'Administrator') if None == username and realm == 'SetupWizard' and not is_wizard_complete( ): username = '******' save_session_user(sess, realm, username) if None == username and is_local_process_uid_authorized(req): username = '******' log_login(req, username, True, True, None) save_session_user(sess, realm, username) sess.save() sess.unlock() if None != username: pw = base64.encodestring('%s' % username).strip() req.headers_in['Authorization'] = "BASIC % s" % pw req.notes['authorized'] = 'true' return apache.OK else: # we only do this as to not present a login screen when access # is restricted. a tomcat valve enforces this setting. if options.get('UseRemoteAccessSettings', 'no') == 'yes': http_enabled = get_uvm_settings_item('system', 'httpAdministrationAllowed') connection = req.connection (addr, port) = connection.local_addr apache.log_error('rjt: addr=%s port=%s' % (str(addr), str(port))) apache.log_error('rjt: connection.remote_ip = %s' % (str(connection.remote_ip))) if not re.match('127\.|\:\:1', connection.remote_ip): if port == 80 and not http_enabled: return apache.HTTP_FORBIDDEN apache.log_error( 'Auth failure [Username not specified]. Redirecting to auth page. (realm: %s)' % realm) login_redirect(req, realm)
def index(req): req.content_type = "text/html" sess = Session.Session(req) login = req.form['login'] password = req.form['password'] conn = fonctions.connexionBD() cur = conn.cursor() sql = "select * from util where login=%s and mdp =%s;" cur.execute(sql, ( login, password, )) data = cur.fetchall() if not data: sess.delete() req.write( fonctions.codeHTML( "Erreur !", """<h3>Identifiants invalides</h3>""" + fonctions.lien( 'form-connexion.py', "Retour à la page de connexion"))) else: id_util = data[0] sess["login"] = login sess["id_util"] = id_util[0] sess.save() req.write( fonctions.codeHTML( "Connexion", """<h3>Identifiants valides</h3>""" + fonctions.lien('menu.py', "Menu du site")))
def getStorageDirContents(req, courseId, assignmentId): """ Returns the file list from the storage host for the current user""" websutil.sanityCheckAssignmentId(assignmentId) websutil.sanityCheckCourseId(courseId) # Check permission req.content_type = 'text/html' s = Session.Session(req) if s.is_new(): s.invalidate() return json.dumps({ 'errorType': websutil.ERR_AUTH, 'errorMessage': "", 'errorTrace': "" }) # Get username session variable strout = websutil.OutputString() try: s.load() username = s['username'] except: traceback.print_exc(file=strout) return json.dumps({ 'errorType': websutil.ERR_EXCEPTION, 'errorMessage': "", 'errorTrace': strout.get() }) # Reset the timeout s.save() return websutil.getUserStorageDirContents(req, courseId, assignmentId, username)
def getCourses(req): """ Returns a JSON object containing the list of available courses """ req.content_type = 'text/html' s = Session.Session(req) if s.is_new(): s.invalidate() return json.dumps({ 'errorType': websutil.ERR_AUTH, 'errorMessage': "", 'errorTrace': "" }) # Reset the timeout s.save() course_arr = [] strout = websutil.OutputString() try: clist = CourseList() for course_id in clist.course_names(): course_cfg_fname = clist.course_config(course_id) course_cfg = StorerCourseConfig(course_cfg_fname) course_title = course_cfg.course_name() course_arr.append({'id': course_id, 'title': course_title}) except: traceback.print_exc(file=strout) return json.dumps({ 'errorType': websutil.ERR_EXCEPTION, 'errorMessage': "", 'errorTrace': strout.get() }) return json.dumps(course_arr)
def updateMinScale(req, minscale1_, minscale2_, ): session = Session.Session(req) oN = cgi.escape(minscale1_) uN = cgi.escape(minscale2_) a = doSql() f = a.execqry("select updateminscale('"+session['sCode']+"', '"+oN+"', '"+uN+"')", True) return True
def index(req): req.content_type="text/html" sess = Session.Session(req) fonctions.redirectionSiNonConnecte(req,sess) req.write(fonctions.codeHTML("Ajout d'un contact",""" <p><b>Ajout d'un contact</b></p> <form method="POST" action="ajout.py" onsubmit="return isItGood()"> <table> <tr> <td>Nom</td> <td><input type="text" name="nom" id="nom"/></td> <td></td> </tr> <tr> <td>Adresse</td> <td><input type="text" name="adresse"/></td> <td></td> </tr> <tr> <td>Email</td> <td><input type="text" name="email" id="email"/></td> <td></td> </tr> <tr> <td>Téléphone</td> <td><input type="text" name="telephone" id="telephone"/></td> <td><input type="submit" value="Valider" id="submit"></td> </tr> </table> </form> """ + fonctions.lien("menu.py","Retour au menu principal") + """ <script src="form-ajout.js"></script> """))
def index(req): req.content_type = "text/html" sess = Session.Session(req) fonctions.redirectionSiNonConnecte(req, sess) req.write( fonctions.codeHTML( "Liste des contacts", """<b> Liste des contacts </b> <br/> Rechercher un nom : <input type="text" onkeyup="chargementContacts(this.value)"/> <div id="liste"></div>""" + fonctions.lien("menu.py", "Retour au menu")) + """ <script> function chargementContacts(value) { if(value == null){ value = ""; } var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("liste").innerHTML = this.responseText; } }; xhttp.open("GET", "affiche-liste.py?nom=" + value, true); xhttp.send(); } chargementContacts(); </script>""")
def addScore(req, score, mult): session = Session.Session(req) b = cgi.escape(score) c = cgi.escape(mult) e = doSql() f = e.execqry("select addscore('"+session['sCode']+"','"+b+"','"+c+"')", True) return True
def login(req, username, password): req.content_type = 'text/html' # don't permit brute force password guessing: time.sleep(1) s = Session.Session(req) if not s.is_new(): #TODO take the username from session return json.dumps({'status':True, 'username':username, 'info':'Already logged in'}) strout = websutil.OutputString() try: user = websutil.get_user(username, password) except: traceback.print_exc(file = strout) return json.dumps({'errorType':ERR_EXCEPTION, 'errorMessage':"", 'errorTrace':strout.get()}) if user is None: s.invalidate() return json.dumps({'status':False, 'username':"", 'info':'Invalid username/password'}) s["username"] = username.lower() s.save() return json.dumps({'status':True, 'username':user, 'info':'Succesfully logged in'})
def getUploadedMd5(req, courseId, assignmentId): """ Returns the md5 file for the current user""" # Check permission req.content_type = 'text/html' s = Session.Session(req) if s.is_new(): s.invalidate() return json.dumps({'errorType':ERR_AUTH, 'errorMessage':"", 'errorTrace':""}) # Get username session variable strout = websutil.OutputString() try: s.load() username = s['username'] except: traceback.print_exc(file = strout) return json.dumps({'errorType' : ERR_EXCEPTION, 'errorMessage' : "", 'errorTrace' : strout.get()}) # Reset the timeout s.save() return getUserUploadedMd5(req, courseId, assignmentId, username)
def send_main(req): global sess sess = Session.Session(req) sess.load() configfile = sess['configfile'] return send_package.do_send_package(configfile)
def handler(req): req.send_http_header() req.content_type = 'text/html;charset=UTF-8' session = Session.Session(req, timeout=3600) session.load() session = session_init(session) oauth_manager = oauthmanager.OAuth_manager(session) calender_api = calenderapi.Calender_api(oauth_manager) #URL에서 파일명 추출 real_file_name = req.filename[req.filename.rfind('/') + 1:] if real_file_name == 'index.html': #등록된 accessToken이 있는지 판단 if oauth_manager.check_access_token(): util.redirect(req, 'access_resource.py') else: #등록된 accessToken이 없다면 인증페이지로 util.redirect(req, 'oauth.py') elif real_file_name == 'oauth.py': oauth_template = file(config.oauth_file).read() req.write(oauth_template) elif real_file_name == 'request_token.py': #request_token 생성 및 사용자 인증 URL redirect util.redirect(req, oauth_manager.create_reqeust_token()) elif real_file_name == 'callback.py': #callback_url 처리 oauth_manager.create_access_token(req) util.redirect(req, 'index.html') elif real_file_name == 'access_resource.py': for title in calender_api.load_event_by_all('2011-5-1', '2011-5-31'): req.write('일정 제목 -> %s<br>' % (title.encode('utf-8'))) return apache.OK
def handler(req): req.send_http_header() req.content_type = 'text/html;charset=UTF-8' session = Session.Session(req, timeout=3600) session.load() session = session_init(session) oauth_manager = oauthmanager.OAuth_manager(session) calender_api = calenderapi.Calender_api(oauth_manager) #request parameter formValueList = util.FieldStorage(req) #URL에서 파일명 추출 real_file_name = req.filename[req.filename.rfind('/') + 1:] if real_file_name == 'index.html': #등록된 accessToken이 있는지 판단 if oauth_manager.check_access_token(): template = file(config.index_file).read() search_date = formValueList.get( 'date', '%s-%s' % (time.localtime().tm_year, time.localtime().tm_mon)) try: content = createcalender.Create_calender( int(search_date.split('-')[0]), int(search_date.split('-')[1]), calender_api) except ValueError, error: #data 형식이 잘못 되었을 경우 req.write("ValueError -> %s" % error) else: req.write(template % content) else: #등록된 accessToken이 없다면 인증페이지로 util.redirect(req, 'oauth.py')
def getAssignments(req, courseId): """ Returns the list of assignments for a given course """ websutil.sanityCheckCourseId(courseId) req.content_type = 'text/html' s = Session.Session(req) if s.is_new(): s.invalidate() return json.dumps({ 'errorType': websutil.ERR_AUTH, 'errorMessage': "Session is new", 'errorTrace': "" }) # Get username session variable strout = websutil.OutputString() try: s.load() username = s['username'] except: traceback.print_exc(file=strout) return json.dumps({ 'errorType': websutil.ERR_EXCEPTION, 'errorMessage': "Unable to load session", 'errorTrace': strout.get() }) # Reset the timeout s.save() try: vmcfg = config.CourseConfig(CourseList().course_config(courseId)) except: traceback.print_exc(file=strout) return json.dumps({ 'errorType': websutil.ERR_EXCEPTION, 'errorMessage': "Unable to load course config", 'errorTrace': strout.get() }) assignments = vmcfg.assignments() sorted_assg = sorted( assignments, lambda x, y: int(assignments.get(x, "OrderNumber")) - int( assignments.get(y, "OrderNumber"))) ass_arr = [] for key in sorted_assg: a = {} a['assignmentId'] = key a['assignmentTitle'] = assignments.get(key, "AssignmentTitle") a['assignmentStorage'] = assignments.getd(key, "AssignmentStorage", "") if a['assignmentStorage'].lower() == "large": a['assignmentStorageHost'] = assignments.get( key, "AssignmentStorageHost") a['assignmentStorageBasepath'] = assignments.storage_basepath( key, username) a['deadline'] = assignments.get(key, "Deadline") a['statementLink'] = assignments.get(key, "StatementLink") ass_arr.append(a) return json.dumps(ass_arr)
def removeVseSrecne(req): dodaj = uporId = "" #==== VARIABLE ==== id = req.form.get("id", -1) if id != -1: dodaj = " AND id='"+id+"'" sess = Session.Session(req) if not sess.is_new(): sess.load() uporId = str(sess.get('uporId', '-')) #==== BAZA ==== if uporId != "": try: conn = sqlite3.connect("/var/www/ora/ora_mod_python/ora31/semi.db") c = conn.cursor() c.execute("DELETE FROM srecne WHERE idUpor = '"+uporId+"' " + dodaj) conn.commit() except Exception, inst: conn.rollback() req.write(str(type(inst)) + " " + str(inst.args) + " " + str(inst)) # the exception instance req.write("Prislo je do napake :(") finally:
def autologin(req, username): req.content_type = 'text/html' # don't permit brute force password guessing: time.sleep(1) websutil.sanityCheckUsername(username) s = Session.Session(req) if not s.is_new(): #TODO take the username from session return json.dumps({ 'status': True, 'username': username, 'info': 'Already logged in' }) if not req.connection.remote_ip == '127.0.0.1': s.invalidate() return json.dumps({ 'status': False, 'username': "", 'info': req.connection.remote_ip }) s["username"] = username.lower() s.save() return json.dumps({ 'status': True, 'username': username, 'info': 'Success!' })
def login(req): #==== VARIABLE ==== sess = Session.Session(req) upoImeLogin = req.form.get("upoImeLogin", "") gesloLogin = req.form.get("gesloLogin", "") #==== BAZA ==== conn = sqlite3.connect("/var/www/ora/ora_mod_python/ora31/semi.db") c = conn.cursor() c.execute("SELECT * FROM uporabniki WHERE uporIme = '"+upoImeLogin+"' and geslo = '"+gesloLogin+"';") d = c.fetchone() c.close() conn.close() #==== SEJA ==== req.content_type="text/html" if d != None: sess['uporId'] = d[0] sess['uporIme'] = d[1] sess['datumR'] = d[5] sess.set_timeout(1200) sess.save() #getData() script = '<script> function move() {window.location = "../prvi.psp"}</script>' return script+'<html><body onload="timer=setTimeout(''move()'',4000)"><b>Prijava uspesna</b><br></body></html>' else: return "<html><b>Napaka</b><br></html>"
def getAssignments(req, courseId, locale=websutil.DEFAULT_LOCALE): """ Returns the list of assignments for a given course """ websutil.install_i18n(websutil.sanityCheckLocale(locale)) websutil.sanityCheckCourseId(courseId) req.content_type = 'text/html' s = Session.Session(req) if s.is_new(): s.invalidate() return json.dumps({ 'errorType': websutil.ERR_AUTH, 'errorMessage': "Session is new", 'errorTrace': "" }) # Get username session variable strout = websutil.OutputString() try: s.load() username = s['username'] except: traceback.print_exc(file=strout) return json.dumps({ 'errorType': websutil.ERR_EXCEPTION, 'errorMessage': "Unable to load session", 'errorTrace': strout.get() }) # Reset the timeout s.save() return websutil.getAssignmentsHelper(courseId, username, strout)
def index(req): session = Session.Session(req) global Rollno try: Rollno = session['rno'] except: return """<html>Session Expired<p><a href="../student_login.html"> LOGIN AGAIN</a></html>""" session.save() session.cleanup() db = MySQLdb.connect(host="localhost", user=data.mysql_user, passwd=data.mysql_pswd, db="applicationProcess") # prepare a cursor object using cursor() method cursor = db.cursor() #req.content_type="text/html" #req.write(str(studAct)) ss = """ select rollNumber from internationalStudentInformationDomain;""" cursor.execute(ss) rnoarray = cursor.fetchall() rno = map(lambda x: x[0], rnoarray) if str(Rollno) in rno: fp = open(data.path + "/project_data/NewAppInter.html", "r") ap = fp.read() return ap else: fp = open(data.path + "/project_data/Newapplication.html", "r") ap = fp.read() return ap
def handler(req): from aubio.web.browser import * from mod_python import Session req.sess = Session.Session(req) req.sess['login'] = '******' req.sess.save() return configure_handler(req, index)
def index(req): req.content_type = "text/html" conn = fonctions.connexionBD() cursor = conn.cursor() id_util = req.form["id_util"] login = req.form["login"] requete = "select id_util, mdp from util where login = %s" cursor.execute(requete, (login)) tup = cursor.fetchone() if tup is None: msg = "Login inexistant" lien = fonctions.lien("form-connexion.py", "Retour au formulaire de connexion") else: (id_util, mdp) = tup if mdp != req.form["mdp"]: msg = "Mot de passe incorrect" lien = fonctions.lien("form-connexion.py", "Retour au formulaire de connexion") else: session = Session.Session(req) session["id_util"] = id_util session["login"] = login session.save() msg = "Le mot de passe est correct." lien = fonctions.lien("menu.py", "Accès au menu du site") body = msg + "<br/>" + lien req.write(fonctions.codeHTML("Connexion", body))
def index(req): req.content_type = "text/html" sess = Session.Session(req) #recup session redirectionSiNonConnecte(req, sess) #redirige si la session est nouvelle id_util = sess["id_util"] #recup l'id_util login = req.form['login'] mdp = req.form['motdepasse'] conn = connexionBD() cur = conn.cursor() sql = "insert into util (login,mdp) values (%s,%s);" cur.execute(sql, ( login, mdp, )) conn.commit() conn.close() req.write( codeHTML( "", """ <p><b>Nouvel utilisateur</b></p> <p>""" + login + """ a bien été ajouté</p> """ + lien('menu.py', "Retour au menu principal")))
def getUploadedMd5(req, courseId, assignmentId, locale=websutil.DEFAULT_LOCALE): """ Returns the md5 file for the current user""" websutil.install_i18n(websutil.sanityCheckLocale(locale)) websutil.sanityCheckAssignmentId(assignmentId) websutil.sanityCheckCourseId(courseId) # Check permission req.content_type = 'text/html' s = Session.Session(req) if s.is_new(): s.invalidate() return json.dumps({'errorType':websutil.ERR_AUTH, 'errorMessage':"", 'errorTrace':""}) # Get username session variable strout = websutil.OutputString() try: s.load() username = s['username'] except: traceback.print_exc(file = strout) return json.dumps({'errorType' : websutil.ERR_EXCEPTION, 'errorMessage' : "", 'errorTrace' : strout.get()}) # Reset the timeout s.save() return websutil.getUserUploadedMd5Helper(courseId, assignmentId, username, strout)
def majSession(req): session = Session.Session(req) GET = mod_python.util.parse_qs(req.args) session[GET[u'KEY'][0]] = GET[u'VALUE'][0] session.save() print session[GET[u'KEY'][0]] return str(GET)
def index(req): session = Session.Session(req); info=req.form global Rollno try: Rollno=session['rno'] except: return """<html>Session Expired<p><a href="../student_login.html"> LOGIN AGAIN</a></html>""" try: edit=info['edit']; edit=1; except: edit=0; ip=session['ipaddr'] session.save() session.cleanup() flg=0 db = MySQLdb.connect( host="localhost", user=data.mysql_user, passwd=data.mysql_pswd, db="userInputDatabase" ) # prepare a cursor object using cursor() method cursor = db.cursor() tabid="ApplicationRequests" fp=open(data.path+"/project_data/bank_addr.html","r") fp=fp.read()%(edit) return fp
def addColumn(req): session = Session.Session(req) GET = mod_python.util.parse_qs(req.args) session[GET[u'KEY'][0]].insert(int(GET[u'INDEX'][0]), GET[u'COLUMN'][0]) session.save() print session[GET[u'KEY'][0]] return str(GET)
def resetPassword(req): session = Session.Session(req) randPassword = os.urandom(string_length) a = doSql() f = a.execqry("SELECT changepass('" + randPassword + "','" + f + "')", True) return True