Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- prodicus@Acer:~/Downloads/souvik_refactoring$ tree
- .
- ├── cgi-bin
- │ ├── creating_user_base_table.py
- │ ├── user_base.db
- │ └── usr_check.py
- ├── index.html
- └── keyCheck.py
- 1 directory, 5 files
- <!DOCTYPE html>
- <html>
- <head>
- <title>Login page</title>
- </head>
- <body>
- <div style = "text-align : center ; ">
- <h1>Login page</h1>
- <form action="/cgi-bin/usr_check.py" method="get">
- Registration number : <input type="number" name="register_no" min="1" max="2000000000">
- <br><br>
- Username : <input type="text" name="username">
- <br><br>
- Password : <input type="password" name = "password">
- <br><br>
- <input type="submit" value = "Login">
- </form>
- </div>
- </body>
- </html>
- #!/usr/bin/env python3.4
- import sqlite3
- import os
- db_name = "user_base.db"
- if db_name in os.listdir():
- print("removing the user_base.db and creating a fresh copy of it")
- os.system("rm user_base.db")
- print("Creating the database")
- conn = sqlite3.connect(db_name)
- cur = conn.cursor()
- user_table = "CREATE TABLE users(reg_no INTEGER PRIMARY KEY, user_name TEXT, pass TEXT)"
- new_users = (
- (1081310251, 'admin', 'admin'),
- (1081310234, 'foo', 'admin123')
- )
- cur.execute(user_table)
- print("table created")
- cur.executemany('INSERT INTO users VALUES(?, ?, ?)', new_users)
- conn.commit()
- print("default users created nndisplaying them")
- cur.execute('SELECT * FROM users')
- print(cur.fetchall())
- #/usr/bin/env python3.4
- import cgi, cgitb
- import os
- import sqlite3
- cgitb.enable()
- form = cgi.FieldStorage()
- register_no = form.getvalue('register_no')
- username = form.getvalue('username')
- passwd = form.getvalue('password')
- print("Content-type:text/htmlrnrn")
- print("<html>")
- print("<head>")
- print("<h1>Shit gets real here</h1>")
- print("</head>")
- print("<body>")
- print('<div style = "text-align:center ; "')
- # print("</div>")
- print("")
- conn = sqlite3.connect('user_base.db')
- cur = conn.cursor()
- ## now to check whether the entered data is for
- ## -> new user
- ## -> an old user
- cur.execute('SELECT user_name FROM users WHERE register_no = ?', (register_no,))
- rows = cur.fetchall()
- print("<br><br>")
- if len(rows) == 0:
- print("<p>User : <b>", username , "</b> does not exist.</p>")
- cur.execute('INSERT INTO users VALUES(?, ?, ?)', (register_no, username, passwd))
- print("<p>User was created successfully</p>")
- print("Done")
- else:
- print("<p>Welcome<b>", username ,"</b>. Good to have you back")
- print("<br><p>Your account details</p>")
- print("<ul>")
- print("<li>Register number : ", register_no, " </li>")
- print("<li>Username " , username, "</li>")
- print("</ul>")
- prodicus@Acer:~/Downloads/souvik_refactoring$ python -m CGIHTTPServer
- Serving HTTP on 0.0.0.0 port 8000 ...
- 127.0.0.1 - - [02/Nov/2015 12:43:23] "GET /index.html HTTP/1.1" 200 -
- 127.0.0.1 - - [02/Nov/2015 12:44:03] "GET /cgi-bin/usr_check.py?register_no=1081310234&username=foo&password=admin123 HTTP/1.1" 200 -
- Traceback (most recent call last):
- File "/usr/lib/python2.7/CGIHTTPServer.py", line 252, in run_cgi
- os.execve(scriptfile, args, env)
- OSError: [Errno 8] Exec format error
- 127.0.0.1 - - [02/Nov/2015 12:44:03] CGI script exit status 0x7f00
- prodicus@Acer:~/Downloads/souvik_refactoring$ ll
- total 36
- drwxrwxr-x 3 prodicus prodicus 4096 Nov 2 08:30 ./
- drwxr-xr-x 15 prodicus prodicus 20480 Nov 2 11:29 ../
- drwxrwxrwx 2 prodicus prodicus 4096 Nov 2 12:23 cgi-bin/
- -rw-rw-r-- 1 prodicus prodicus 629 Nov 2 08:38 index.html
- -rwxrwxr-x 1 prodicus prodicus 463 Nov 2 08:29 keyCheck.py*
- prodicus@Acer:~/Downloads/souvik_refactoring/cgi-bin$ ll
- total 20
- drwxrwxrwx 2 prodicus prodicus 4096 Nov 2 12:23 ./
- drwxrwxr-x 3 prodicus prodicus 4096 Nov 2 08:30 ../
- -rwxrwxrwx 1 prodicus prodicus 710 Nov 1 23:12 creating_user_base_table.py*
- -rwxrwxrwx 1 prodicus prodicus 2048 Nov 2 12:23 user_base.db*
- -rwxrwxrwx 1 prodicus prodicus 1576 Nov 2 08:26 usr_check.py*
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement