Advanced CGI Scripts. personalized web browsing using cookies: count number of visits. secure hash algorithm using cookies for login data the scripts

Size: px
Start display at page:

Download "Advanced CGI Scripts. personalized web browsing using cookies: count number of visits. secure hash algorithm using cookies for login data the scripts"

Transcription

1 Advanced CGI Scripts 1 Cookies personalized web browsing using cookies: count number of visits 2 Password Encryption secure hash algorithm using cookies for login data the scripts 3 Authentication via login to your mailbox sending an MCS 275 Lecture 35 Programming Tools and File Management Jan Verschelde, 7 April 2017 Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

2 Advanced CGI Scripts 1 Cookies personalized web browsing using cookies: count number of visits 2 Password Encryption secure hash algorithm using cookies for login data the scripts 3 Authentication via login to your mailbox sending an Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

3 Personalized Web Browsing more clever cgi scripts Storing information about a client: 1 previous selections made passing data from one script to another 2 personal information identification and passwords 3 information from previous visits counting number of visits Potential applications: 1 customize displayed content 2 store encrypted password for fast access 3 personalized pricing... Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

4 cookies store information about client Cookies are data stored by web server on client computer, managed by the browser. Using the cookies module: >>> from http import cookies >>> c = cookies.simplecookie() >>> c[ L ] = 35 >>> c[ data ] = Fri 7 Apr 2017 >>> print(c) Set-Cookie: L=35 Set-Cookie: data="fri 7 Apr 2017" Cookies are objects like dictionaries. Reserved keys: expires and path. Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

5 computing with cookies To compute with values stored in cookies: The value of cookie is the attribute value. The type of the value is a string. To update the number of visits stored in the cookie cnt: >>> from http import cookies >>> cnt = cookies.simplecookie() >>> cnt[ visits ] = 0 >>> cnt[ visits ] <Morsel: visits=0> >>> cnt[ visits ].value 0 >>> cnt[ visits ] = str(1 + int(cnt[ visits ].value)) >>> cnt[ visits ].value 1 A simple cookie stores all data as strings. Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

6 the environment variable HTTP_COOKIE We can initialize a cookie with keys and values: >>> from http.cookies import SimpleCookie >>> c = SimpleCookie( x=1; y=2 ) >>> c[ x ].value 1 >>> c[ y ].value 2 The environment variable HTTP_COOKIE is set by the web server. When we rerun a web page the cookies are retrieved as follows: >>> from os import environ >>> environ[ HTTP_COOKIE ] = z = 3 >>> d = SimpleCookie(environ[ HTTP_COOKIE ]) >>> d[ z ].value 3 Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

7 Advanced CGI Scripts 1 Cookies personalized web browsing using cookies: count number of visits 2 Password Encryption secure hash algorithm using cookies for login data the scripts 3 Authentication via login to your mailbox sending an Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

8 using cookies We use a cookie to count the number of visits. Write a script to 1 retrieve cookie, initialize counter to zero, 2 or increment the value of counter by one, 3 and display counter value on the page. The name of the script is cookie_counter.py. 1 We can run the script with myserver.py of Lecture The browser settings must accept cookies. Note: each browser has its own cookies. Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

9 running cookie_counter.py Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

10 code for cookie_counter.py #!/usr/bin/python import os from http.cookies import SimpleCookie def increment(): Retrieves cookie, either initializes counter, or increments the counter by one. if HTTP_COOKIE in os.environ: cnt = SimpleCookie(os.environ[ HTTP_COOKIE ]) else: cnt = SimpleCookie() if visits not in cnt: cnt[ visits ] = 0 else: cnt[ visits ] = str(1 + int(cnt[ visits ].value)) return cnt Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

11 the main() in cookie_counter.py def main(): Retrieves a cookie and writes the value of counter to the page, after incrementing the counter. counter = increment() print(counter) print("content-type: text/plain\n") print("counter: %s" % counter[ visits ].value) main() Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

12 Advanced CGI Scripts 1 Cookies personalized web browsing using cookies: count number of visits 2 Password Encryption secure hash algorithm using cookies for login data the scripts 3 Authentication via login to your mailbox sending an Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

13 Secure Hash Algorithm for password encryption We can use cookies for login names and passwords. If passwords are unencrypted, then insecure. Secure hash algorithm: 1 computationally infeasible to compute inverse is trapdoor function 2 very low collision rate very low chance that two different messages will generate the same key Server encrypts password before sending to client. Authentication by comparing encrypted passwords. Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

14 using the hashlib module >>> from hashlib import sha1 >>> m = this is me >>> h = sha1(m.encode()) >>> h <sha1 HASH 0x1019a53f0> >>> h.hexdigest() 99cf08cddcc3ae19fae7ec8f53f b11406 Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

15 Advanced CGI Scripts 1 Cookies personalized web browsing using cookies: count number of visits 2 Password Encryption secure hash algorithm using cookies for login data the scripts 3 Authentication via login to your mailbox sending an Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

16 Login Forms with cookies to remember data Accessing cookie_login.py for the first time: 1 user submits login name and password, 2 submitted data processed by cookie_userpass.py, 3 cookie stores login name and encrypted password. Connecting to cookie_login.py a second time: 1 cookie is retrieved, 2 login name is displayed if not empty, 3 user must type no password if in cookie. Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

17 Advanced CGI Scripts 1 Cookies personalized web browsing using cookies: count number of visits 2 Password Encryption secure hash algorithm using cookies for login data the scripts 3 Authentication via login to your mailbox sending an Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

18 script cookie_login.py #!/usr/bin/python import cgitb cgitb.enable() from http.cookies import SimpleCookie from os import environ def main(): Form to process login. clp = get_cookie() print(clp) print("content-type: text/html\n") print("<html><body>\n") ask_name(clp) print("</body></html>\n") Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

19 the function get_cookie() def get_cookie(): Retrieves cookie, and initializes it. if HTTP_COOKIE in environ: sim = SimpleCookie(environ[ HTTP_COOKIE ]) else: sim = SimpleCookie() if login not in sim: sim[ login ] = sim[ passw ] = return sim Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

20 the function ask_name() first part def ask_name(cki): Form to enter user name, using cookie cki to show user name. print(<form method = "post" action = "cookie_userpass.py"> ) vlog = cki[ login ].value vpas = cki[ passw ].value values of v and w determine what will be asked from the user. Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

21 ask_name() continued if vlog == : print(<p> Login Name: <input type = "text" name = "login" size = 20>) else: print(<p> Login Name: <input type = "text" name = "login" size = 20 value = %s> % vlog) if vpas == : print(<p> Password: <input type = "password" name = "passw" size = 20>) print( <input type = "submit" value = "submit"> </form>) Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

22 script cookie_userpass.py #!/usr/bin/python import cgi def main(): Form to process login. form = cgi.fieldstorage() cki = get_cookie(form) print(cki) print("content-type: text/html\n") print("<html><body>\n") error = process_name(form) if not error: process_pass(cki) print("</body></html>\n") Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

23 the function get_cookie() def get_cookie(form): Retrieves cookie and uses form to update. if HTTP_COOKIE in environ: sim = SimpleCookie(environ[ HTTP_COOKIE ]) else: sim = SimpleCookie() if login in sim: if login in form: sim[ login ] = form[ login ].value if passw in sim: if passw in form: vpw = form[ passw ].value data = sha1(vpw).hexdigest() sim[ passw ] = data return sim Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

24 processing the name def process_name(form): Processes name of login form. Returns True if error, else False. error = False try: name = form[ login ].value except KeyError: print("please enter your name") error = True if not error: print( welcome + name + \n ) return error Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

25 processing password def process_pass(cki): Processes password of login form, stored in the cookie. print("<p>your password is ") print(cki[ passw ].value) instead of printing the password, compare against password on file. Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

26 Advanced CGI Scripts 1 Cookies personalized web browsing using cookies: count number of visits 2 Password Encryption secure hash algorithm using cookies for login data the scripts 3 Authentication via login to your mailbox sending an Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

27 connecting to gmail The Simple Mail Transfer Protocol (SMTP) is an internet standard for transmission In Python we can send using smtplib. To connect to the gmail server: >>> from smtplib import SMTP >>> s = SMTP( smtp.gmail.com, 587) >>> s.starttls() (220, b Ready to start TLS ) The Transport Layer Security (TLS) protocol provides data encryption for socket based communication. Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

28 the script auth.py from smtplib import SMTP from getpass import getpass try: SERVER = SMTP(host= mail.uic.edu, port=25) RESULT = SERVER.starttls() print(result) except: print( Failed to connect to the server. ) Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

29 the script auth.py continued SUCCESS = False USER = input( Type your UIC netid : ) USER = USER for _ in range(3): # allow for three attempts PASW = getpass( Type your UIC password : ) try: RESULT = SERVER.login(USER, PASW) print(result) SUCCESS = True break except: print( Login failed, please try again. ) Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

30 Advanced CGI Scripts 1 Cookies personalized web browsing using cookies: count number of visits 2 Password Encryption secure hash algorithm using cookies for login data the scripts 3 Authentication via login to your mailbox sending an Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

31 first connect to the server HOSTNAME = mail.uic.edu PORTNUMBER = 25 from smtplib import SMTP from .mime.text import MIMEText from getpass import getpass def authenticate(hostname, portnumber): Returns the server and the address of the user, after a successful authentication, otherwise None is returned. try: server = SMTP(host=hostname, port=portnumber) result = server.starttls() except: print( Failed to connect to the server. ) Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

32 logging in success = False user = input( Type your UIC netid : ) user = user for _ in range(3): # allow for three attempts pasw = getpass( Type your UIC password : ) try: result = server.login(user, pasw) success = True break except: print( Login failed, please try again. ) if success: print( You are authenticated via UIC . ) return server, user else: print( Authentication via UIC failed. ) return None Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

33 the function main() def main(): First we authenticate and then we send the . srvusr = authenticate(hostname, PORTNUMBER) if srvusr!= None: server, user = srvusr ret = sendan (server, user) if ret == {}: print( The message was accepted for delivery. ) else: print( The message was rejected for delivery. ) print(ret) Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

34 composing the message MIME (Multipurpose Internet Mail Extensions) is an internet standard to extend the format of . In Python, .mime.text represents text/* type MIME documents. >>> from .mime.text import MIMEText >>> msg = MIMEText( This is a test. ) >>> msg[ Subject ] = hello >>> msg[ To ] = someuser@gmail.com >>> print(msg.as_string()) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: hello To: someuser@gmail.com This is a test. >>> Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

35 sending an def sendan (server, user): Prompts the user for a destination, subject and a message body. dest = input( Give the destination address : ) subj = input( Give the subject : ) body = input( Give the message : ) msg = MIMEText(body) msg[ Subject ] = subj msg[ To ] = dest result = server.sendmail(user, dest, msg.as_string()) return result Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

36 register and activate an account The registration/activation is a two step process: 1 The user connects to our web site and submits a form with the address of the user (which will be the name of the account) and a password, which is encrypted. The register.py script 1 stores the account information, 2 generates a random code for one time use, 3 sends the to the user with link to the activate script that takes the random code as input. The sent contains an URL of the following form: /cgi-bin/activate.py?login=%s&code=%s This login and the code are the address and the code. 2 The activation process is executed by activate.py. Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

37 the activation of an account 2 The activation process is executed by activate.py. This script checks whether the two parameters in the activate script match what is stored in the database. If okay, if the access code gives a match for the login name, then the user can login via the login form. In this process, the server only sends , does not read it. Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

38 Summary + Assignments Assignments: 1 Extend cookie_counter.py so that a different HTML page is displayed based on whether the counter is zero or not. 2 Extend cookie_userpass.py for it to do proper password authentication: compare the given password with the one that was earlier entered and stored on file. 3 Consider an mysql table customers which contains as its fields the identification number, the name, and the address of each customer. Write a script to every customer a greeting. 4 Write code for the register.py described earlier. 5 Write code for the activate.py described earlier. Programming Tools (MCS 275) advanced cgi scripts L-35 7 April / 38

Web Interfaces. the web server Apache processing forms with Python scripts Python code to write HTML

Web Interfaces. the web server Apache processing forms with Python scripts Python code to write HTML Web Interfaces 1 Python Scripts in Browsers the web server Apache processing forms with Python scripts Python code to write HTML 2 Web Interfaces for the Determinant dynamic interactive forms passing data

More information

Web Interfaces for Database Servers

Web Interfaces for Database Servers Web Interfaces for Database Servers 1 CGI, MySQLdb, and Sockets glueing the connections with Python functions of the server: connect, count, and main development of the code for the client 2 Displaying

More information

Configure Settings and Customize Notifications on FindIT Network Probe

Configure  Settings and Customize  Notifications on FindIT Network Probe Configure Email Settings and Customize Email Notifications on FindIT Network Probe Objective Cisco FindIT Network Probe equips a network administrator with indispensable tools that help securely monitor

More information

NETB 329 Lecture 13 Python CGI Programming

NETB 329 Lecture 13 Python CGI Programming NETB 329 Lecture 13 Python CGI Programming 1 of 83 What is CGI? The Common Gateway Interface, or CGI, is a set of standards that define how information is exchanged between the web server and a custom

More information

INTERNET & WORLD WIDE WEB (UNIT-1) MECHANISM OF INTERNET

INTERNET & WORLD WIDE WEB (UNIT-1) MECHANISM OF INTERNET INTERNET & WORLD WIDE WEB (UNIT-1) MECHANISM OF INTERNET 1. INTRODUCTION Hello friends are topic is Internet and World Wide Web the most popular services of our topic is social networking and online shopping

More information

Pemrograman Jaringan Web Client Access PTIIK

Pemrograman Jaringan Web Client Access PTIIK Pemrograman Jaringan Web Client Access PTIIK - 2012 In This Chapter You'll learn how to : Download web pages Authenticate to a remote HTTP server Submit form data Handle errors Communicate with protocols

More information

Outline. evolution of the web IP addresses and URLs client/server and HTTP. HTML, XML, MathML MathML generated by Maple. the weather forecast

Outline. evolution of the web IP addresses and URLs client/server and HTTP. HTML, XML, MathML MathML generated by Maple. the weather forecast Outline 1 Internet Basics evolution of the web IP addresses and URLs client/server and HTTP 2 Markup Languages HTML, XML, MathML MathML generated by Maple 3 Retrieving Data the weather forecast 4 CGI Programming

More information

Python easy mail library Documentation

Python easy mail library Documentation Python easy mail library Documentation Release 1.0.2 Alain Spineux Oct 31, 2017 Contents 1 Download and Install 3 2 Support for Python 3.x 5 3 Use pyzmail 7 4 Documentation 9 4.1 Articles..................................................

More information

CSCE 463/612 Networks and Distributed Processing Spring 2018

CSCE 463/612 Networks and Distributed Processing Spring 2018 CSCE 463/612 Networks and Distributed Processing Spring 2018 Application Layer II Dmitri Loguinov Texas A&M University February 6, 2018 Original slides copyright 1996-2004 J.F Kurose and K.W. Ross 1 Chapter

More information

FAQ 106 How do I access and set up client applications? There are two ways to access a mailbox for sending and receiving messages:

FAQ 106 How do I access  and set up  client applications? There are two ways to access a mailbox for sending and receiving  messages: FAQ 106 How do I access email and set up email client applications? Page 1 Access your webmail Outlook 2016 Setup Access from Mozilla Thunderbird Access from Apple Mail Access from iphone Access from Android

More information

Advanced Web Programming

Advanced Web Programming Advanced Web Programming 1 Advanced Web Programming what we have covered so far 2 The SocketServer Module simplified development of network servers a server tells clients the time 3 A Forking Server instead

More information

Web scraping and social media scraping authentication

Web scraping and social media scraping authentication Web scraping and social media scraping authentication Jacek Lewkowicz, Dorota Celińska University of Warsaw March 21, 2018 What will we be working on today? A popular way to prevent bots from gathering

More information

Web Clients and Crawlers

Web Clients and Crawlers Web Clients and Crawlers 1 Web Clients alternatives to web browsers opening a web page and copying its content 2 Scanning files looking for strings between double quotes parsing URLs for the server location

More information

Transport Level Security

Transport Level Security 2 Transport Level Security : Security and Cryptography Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 28 October 2013 css322y13s2l12, Steve/Courses/2013/s2/css322/lectures/transport.tex,

More information

WWW: the http protocol

WWW: the http protocol Internet apps: their protocols and transport protocols Application e-mail remote terminal access Web file transfer streaming multimedia remote file Internet telephony Application layer protocol smtp [RFC

More information

Cisco Encryption

Cisco  Encryption This chapter contains the following sections: Overview of, page 1 How to Encrypt Messages with a Local Key Server, page 2 Encrypting Messages using the Email Security Appliance, page 3 Determining Which

More information

CGI Architecture Diagram. Web browser takes response from web server and displays either the received file or error message.

CGI Architecture Diagram. Web browser takes response from web server and displays either the received file or error message. What is CGI? The Common Gateway Interface (CGI) is a set of standards that define how information is exchanged between the web server and a custom script. is a standard for external gateway programs to

More information

yagmail Documentation

yagmail Documentation yagmail Documentation Release 0.10.189 kootenpv Feb 08, 2018 Contents 1 API Reference 3 1.1 Authentication.............................................. 3 1.2 SMTP Client...............................................

More information

PYTHON CGI PROGRAMMING

PYTHON CGI PROGRAMMING PYTHON CGI PROGRAMMING http://www.tutorialspoint.com/python/python_cgi_programming.htm Copyright tutorialspoint.com The Common Gateway Interface, or CGI, is a set of standards that define how information

More information

Settings tab. User guide

Settings tab. User guide Settings tab User guide Contents 1. Introduction... 2 Documentation... 2 Licensing... 2 Settings overview... 2 2. Settings tab selections... 3 Backup user identity... 3 Email server settings... 4 Email

More information

CSC 4900 Computer Networks:

CSC 4900 Computer Networks: CSC 4900 Computer Networks: Email Professor Henry Carter Fall 2017 Villanova University Department of Computing Sciences Review Last week we talked about design principles, and the application protocols

More information

Internet Electronic Mail

Internet Electronic Mail Internet Electronic Mail Antonio Carzaniga Faculty of Informatics University of Lugano March 9, 2010 Outline General concepts Transport protocol: SMTP Basic message format MIME format A Postal Service

More information

Appendix. Web Command Error Codes. Web Command Error Codes

Appendix. Web Command Error Codes. Web Command Error Codes Appendix Web Command s Error codes marked with * are received in responses from the FTP server, and then returned as the result of FTP command execution. -501 Incorrect parameter type -502 Error getting

More information

Introduction to Programming (Python) (IPP) CGI Programming. $Date: 2010/11/25 09:18:11 $ IPP-15 1

Introduction to Programming (Python) (IPP) CGI Programming. $Date: 2010/11/25 09:18:11 $ IPP-15 1 Introduction to Programming (Python) (IPP) CGI Programming $Date: 2010/11/25 09:18:11 $ 1 Static web pages The simplest web-based interaction is when your browser (the client) gets sent a file encoded

More information

WHITE PAPER. Authentication and Encryption Design

WHITE PAPER. Authentication and Encryption Design WHITE PAPER Authentication and Encryption Design Table of Contents Introduction Applications and Services Account Creation Two-step Verification Authentication Passphrase Management Email Message Encryption

More information

BusinessMail X.400 Web interface MessageGate V3.0

BusinessMail X.400 Web interface MessageGate V3.0 Web interface MessageGate V3.0 User information (1) In the past you had to use special forms or Excel sheets for the administration of your partners and trading relations. You had to send this information

More information

Applications & Application-Layer Protocols: FTP and (SMTP & POP)

Applications & Application-Layer Protocols: FTP and  (SMTP & POP) COMP 431 Internet Services & Protocols Applications & Application-Layer Protocols: FTP and E ( & POP) Jasleen Kaur February 7, 2019 Application-Layer Protocols Outline Example client/ systems and their

More information

Lecture 6: Application Layer Web proxies, , and SMTP

Lecture 6: Application Layer Web proxies,  , and SMTP Lecture 6: Application Layer Web proxies, Email, and SMTP COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016,

More information

Scan Report Executive Summary

Scan Report Executive Summary Scan Report Executive Summary Part 1. Scan Information Scan Customer Company: Date scan was completed: Vin65 ASV Company: Comodo CA Limited 08/28/2017 Scan expiration date: 11/26/2017 Part 2. Component

More information

Networking and Health Information Exchange: ISO Open System Interconnection (OSI)

Networking and Health Information Exchange: ISO Open System Interconnection (OSI) Networking and Health Information Exchange: ISO Open System Interconnection (OSI) Lecture 4 Audio Transcript Slide 1 Welcome to Networking and Health Information Exchange, ISO Open System Interconnection

More information

M2-R4: INTERNET TECHNOLOGY AND WEB DESIGN

M2-R4: INTERNET TECHNOLOGY AND WEB DESIGN M2-R4: INTERNET TECHNOLOGY AND WEB DESIGN NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered in the

More information

USER GUIDELINES. Q 2. Is it necessary to configure password retrieval question and answer? How can I do that? Q 3. How can I change password?

USER GUIDELINES. Q 2. Is it necessary to configure password retrieval question and answer? How can I do that? Q 3. How can I change password? USER GUIDELINES Revision 1.8 20 August, 2015 Q 1. How can I log into my webmail? Q 2. Is it necessary to configure password retrieval question and answer? How can I do that? Q 3. How can I change password?

More information

Internet and Intranet Protocols and Applications

Internet and Intranet Protocols and Applications Internet and Intranet Protocols and Applications Lecture 4: General Characteristics of Internet Protocols; the Email Protocol February 10, 2004 Arthur Goldberg Computer Science Department New York University

More information

The Application Layer: & SMTP

The Application Layer:  & SMTP The Application Layer: email & SMTP Smith College, CSC 249 Feb 1, 2018 4-1 Chapter 2: Application layer q 2.1 Principles of network applications q 2.2 Web and HTTP q 2.3 FTP q 2.4 Electronic Mail v SMTP,

More information

Scan Report Executive Summary

Scan Report Executive Summary Scan Report Executive Summary Part 1. Scan Information Scan Customer Company: Date scan was completed: Vin65 ASV Company: Comodo CA Limited 11/20/2017 Scan expiration date: 02/18/2018 Part 2. Component

More information

CMPE 151: Network Administration. Servers

CMPE 151: Network Administration. Servers CMPE 151: Network Administration Servers Announcements Unix shell+emacs tutorial. Basic Servers Telnet/Finger FTP Web SSH NNTP Let s look at the underlying protocols. Client-Server Model Request Response

More information

COSC 2206 Internet Tools. The HTTP Protocol

COSC 2206 Internet Tools. The HTTP Protocol COSC 2206 Internet Tools The HTTP Protocol http://www.w3.org/protocols/ What is TCP/IP? TCP: Transmission Control Protocol IP: Internet Protocol These network protocols provide a standard method for sending

More information

Electronic Mail Paradigm

Electronic Mail Paradigm Electronic Mail Paradigm E-mail uses the client-server model. E-mail was designed as an electronic extension of the old paper office memo. - A quick and easy means of low-overhead written communication.

More information

Server-Side Web Programming: Python (Part 1) Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University

Server-Side Web Programming: Python (Part 1) Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University Server-Side Web Programming: Python (Part 1) Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University 1 Objectives You will learn about Server-side web programming in Python Common Gateway Interface

More information

School Messenger. Contact Manager Account Instructions for Parents/Staff

School Messenger. Contact Manager Account Instructions for Parents/Staff School Messenger Contact Manager Account Instructions for Parents/Staff Creating a Contact Manager Account allows you to update your email and phone information for our mass notifications (newsletters,

More information

The Application Layer: SMTP, FTP

The Application Layer: SMTP, FTP The Application Layer: SMTP, FTP CS 352, Lecture 5 http://www.cs.rutgers.edu/~sn624/352-s19 Srinivas Narayana 1 Recap: Application-layer protocols DNS: lookup a (machine-readable) address using a (humanreadable)

More information

SETUP FOR OUTLOOK (Updated October, 2018)

SETUP FOR OUTLOOK (Updated October, 2018) EMAIL SETUP FOR OUTLOOK (Updated October, 2018) This tutorial will show you how to set up your email in Outlook using IMAP or POP. It also explains how to configure Outlook for MAC. Click on your version

More information

Computer Security. 10r. Recitation assignment & concept review. Paul Krzyzanowski. Rutgers University. Spring 2018

Computer Security. 10r. Recitation assignment & concept review. Paul Krzyzanowski. Rutgers University. Spring 2018 Computer Security 10r. Recitation assignment & concept review Paul Krzyzanowski Rutgers University Spring 2018 April 3, 2018 CS 419 2018 Paul Krzyzanowski 1 1. What is a necessary condition for perfect

More information

USQ/CSC2406 Web Publishing

USQ/CSC2406 Web Publishing USQ/CSC2406 Web Publishing Lecture 4: HTML Forms, Server & CGI Scripts Tralvex (Rex) Yeap 19 December 2002 Outline Quick Review on Lecture 3 Topic 7: HTML Forms Topic 8: Server & CGI Scripts Class Activity

More information

Bitnami OSQA for Huawei Enterprise Cloud

Bitnami OSQA for Huawei Enterprise Cloud Bitnami OSQA for Huawei Enterprise Cloud Description OSQA is a question and answer system that helps manage and grow online communities similar to Stack Overflow. First steps with the Bitnami OSQA Stack

More information

Scan Report Executive Summary. Part 2. Component Compliance Summary Component (IP Address, domain, etc.):

Scan Report Executive Summary. Part 2. Component Compliance Summary Component (IP Address, domain, etc.): Scan Report Executive Summary Part 1. Scan Information Scan Customer Company: Date scan was completed: Vin65 ASV Company: Comodo CA Limited 02/18/2018 Scan expiration date: 05/19/2018 Part 2. Component

More information

Motivation For Networking. Information access Interaction among cooperative application programs Resource sharing

Motivation For Networking. Information access Interaction among cooperative application programs Resource sharing Motivation For Networking Information access Interaction among cooperative application programs Resource sharing CS422 -- PART 1 13 2003 Practical Results E-mail File transfer/access Web browsing Remote

More information

Objectives CINS/F1-01

Objectives CINS/F1-01 Email Security (1) Objectives Understand how e-mail systems operate over networks. Classify the threats to the security of e-mail. Study how S/MIME and PGP can be used to add security to e-mail systems.

More information

PHPKB API Reference Guide

PHPKB API Reference Guide PHPKB API Reference Guide KB Administrator Fri, Apr 9, 09 User Manual 96 0 This document provides details on how to use the API available in PHPKB knowledge base management software. It acts as a reference

More information

How to Configure Authentication and Access Control (AAA)

How to Configure Authentication and Access Control (AAA) How to Configure Authentication and Access Control (AAA) Overview The Barracuda Web Application Firewall provides features to implement user authentication and access control. You can create a virtual

More information

BIDMC Multi-Factor Authentication Enrollment Guide Table of Contents

BIDMC Multi-Factor Authentication Enrollment Guide Table of Contents BIDMC Multi-Factor Authentication Enrollment Guide Table of Contents Definitions... 2 Summary... 2 BIDMC Multi-Factor Authentication Enrollment... 3 Common Multi-Factor Authentication Enrollment Issues...

More information

Yealink Device Management Platform Quick Start Guide. Applies to version or later

Yealink Device Management Platform Quick Start Guide. Applies to version or later Yealink Device Management Platform Quick Start Guide Applies to version 2.0.0.14 or later Overview Yealink device management platform allows administrators to efficiently realize centralized management

More information

ASP.NET State Management Techniques

ASP.NET State Management Techniques ASP.NET State Management Techniques This article is for complete beginners who are new to ASP.NET and want to get some good knowledge about ASP.NET State Management. What is the need of State Management?

More information

Ricoh Managed File Transfer (MFT) User Guide

Ricoh Managed File Transfer (MFT) User Guide Ricoh Managed File Transfer (MFT) User Guide -- TABLE OF CONTENTS 1 ACCESSING THE SITE... 3 1.1. WHAT IS RICOH MFT... 3 1.2. SUPPORTED BROWSERS... 3 1.3. LOG IN... 3 1.4. NAVIGATION... 4 1.5. FORGOTTEN

More information

aprompt User Guide Setting up another Advanced mailbox in Mac Mail aprompt.co.uk User Guide Version 3.0 Another Mailbox in Mac Mail

aprompt User Guide Setting up another Advanced mailbox in Mac Mail aprompt.co.uk User Guide Version 3.0 Another Mailbox in Mac Mail aprompt User Guide Setting up another Advanced mailbox in Mac Mail Setting up another Advanced mailbox in Mac Mail In order to be able to send and receive emails from and to your new email acocunt you

More information

Bitnami ProcessMaker Community Edition for Huawei Enterprise Cloud

Bitnami ProcessMaker Community Edition for Huawei Enterprise Cloud Bitnami ProcessMaker Community Edition for Huawei Enterprise Cloud Description ProcessMaker is an easy-to-use, open source workflow automation and Business Process Management platform, designed so Business

More information

Note: CONTENTS. 1. Outlook Express (IMAP) 2. Microsoft Outlook (IMAP) 3. Eudora (IMAP) 4. Thunderbird (IMAP) 5. Outlook Express (POP)

Note: CONTENTS. 1. Outlook Express (IMAP) 2. Microsoft Outlook (IMAP) 3. Eudora (IMAP) 4. Thunderbird (IMAP) 5. Outlook Express (POP) CONTENTS 1. Outlook Express (IMAP) 2. Microsoft Outlook (IMAP) 3. Eudora (IMAP) 4. Thunderbird (IMAP) 5. Outlook Express (POP) Note: Prior to configuring, please ensure that your ID is enabled for POP/IMAP.

More information

BUSINESSMAIL X.400 WEB INTERFACE SMTP MTA V2.9

BUSINESSMAIL X.400 WEB INTERFACE SMTP MTA V2.9 V2.9 User information (1) In addition to X.400 MTA (P1 Connection) the MailGate service now also supports a SMTP MTA (Message- Gate SMTP) to bind an X.400 Domain to worldwide X.400 network. While using

More information

User Directories. Overview, Pros and Cons

User Directories. Overview, Pros and Cons User Directories Overview, Pros and Cons Overview Secure ISMS can operate with one or more of the following user directories. Secure ISMS Users (ISMS) Internal users local to the Secure ISMS application

More information

is still the most used Internet app. According to some studies around 85% of Internet users still use for communication.

is still the most used Internet app. According to some studies around 85% of Internet users still use  for communication. 1 E-mail is still the most used Internet app. According to some studies around 85% of Internet users still use e-mail for communication. Electronic mail is a method to exchange digital messages from a

More information

Bitnami Dolibarr for Huawei Enterprise Cloud

Bitnami Dolibarr for Huawei Enterprise Cloud Bitnami Dolibarr for Huawei Enterprise Cloud Description Dolibarr is an open source, free software package for small and medium companies, foundations or freelancers. It includes different features for

More information

Lecture 25. Tuesday, November 21 CS 475 Networks - Lecture 25 1

Lecture 25. Tuesday, November 21 CS 475 Networks - Lecture 25 1 Lecture 25 Reminders: Homework 7 due today. Homework 8 posted. Due at the beginning of the last day of class for final exam review. Programming Project 6 posted. Final project worth double. Due by 4:30pm,

More information

transmission media and network topologies client/server architecture layers, protocols, and sockets

transmission media and network topologies client/server architecture layers, protocols, and sockets Network Programming 1 Computer Networks transmission media and network topologies client/server architecture layers, protocols, and sockets 2 Network Programming a simple client/server interaction the

More information

Foundations of Python

Foundations of Python Foundations of Python Network Programming The comprehensive guide to building network applications with Python Second Edition Brandon Rhodes John Goerzen Apress Contents Contents at a Glance About the

More information

Barracuda Web Application Firewall Foundation - WAF01. Lab Guide

Barracuda Web Application Firewall Foundation - WAF01. Lab Guide Barracuda Web Application Firewall Foundation - WAF01 Lab Guide Official training material for Barracuda certified trainings and Autorized Training Centers. Edition 2018 Revision 1.0 campus.barracuda.com

More information

Comprehensive Setup Guide for TLS on ESA

Comprehensive Setup Guide for TLS on ESA Comprehensive Setup Guide for TLS on ESA Contents Introduction Prerequisites Requirements Components Used Background Information Functional Overview and Requirements Bring Your Own Certificate Update a

More information

Web client programming

Web client programming Web client programming JavaScript/AJAX Web requests with JavaScript/AJAX Needed for reverse-engineering homework site Web request via jquery JavaScript library jquery.ajax({ 'type': 'GET', 'url': 'http://vulnerable/ajax.php',

More information

CSCE 813 Internet Security Secure Services I

CSCE 813 Internet Security Secure  Services I CSCE 813 Internet Security Secure E-Mail Services I Professor Lisa Luo Fall 2017 Previous Class Why do we need cloud computing? Three models of cloud service Software as a service (SaaS) Platform as a

More information

Settings tab. User guide

Settings tab. User guide Settings tab User guide Contents 1. Introduction... 2 Documentation... 2 Licensing... 2 Settings overview... 2 2. Settings tab selections... 3 Backup user identity... 3 Email server settings... 4 Email

More information

P2_L12 Web Security Page 1

P2_L12 Web Security Page 1 P2_L12 Web Security Page 1 Reference: Computer Security by Stallings and Brown, Chapter (not specified) The web is an extension of our computing environment, because most of our daily tasks involve interaction

More information

Bitnami Subversion for Huawei Enterprise Cloud

Bitnami Subversion for Huawei Enterprise Cloud Bitnami Subversion for Huawei Enterprise Cloud Description Subversion enables globally distributed software development teams to efficiently version and share source code with low administrative overhead.

More information

Security & Privacy. Web Architecture and Information Management [./] Spring 2009 INFO (CCN 42509) Contents. Erik Wilde, UC Berkeley School of

Security & Privacy. Web Architecture and Information Management [./] Spring 2009 INFO (CCN 42509) Contents. Erik Wilde, UC Berkeley School of Contents Security & Privacy Contents Web Architecture and Information Management [./] Spring 2009 INFO 190-02 (CCN 42509) Erik Wilde, UC Berkeley School of Information Abstract 1 Security Concepts Identification

More information

The HTTP protocol. Fulvio Corno, Dario Bonino. 08/10/09 http 1

The HTTP protocol. Fulvio Corno, Dario Bonino. 08/10/09 http 1 The HTTP protocol Fulvio Corno, Dario Bonino 08/10/09 http 1 What is HTTP? HTTP stands for Hypertext Transfer Protocol It is the network protocol used to delivery virtually all data over the WWW: Images

More information

Internet Technology. 03r. Application layer protocols: . Paul Krzyzanowski. Rutgers University. Spring 2016

Internet Technology. 03r. Application layer protocols:  . Paul Krzyzanowski. Rutgers University. Spring 2016 Internet Technology 03r. Application layer protocols: email Paul Krzyzanowski Rutgers University Spring 2016 1 Email: SMTP (Simple Mail Transfer Protocol) 2 Simple Mail Transfer Protocol (SMTP) Protocol

More information

Manage Certificates. Certificates Overview

Manage Certificates. Certificates Overview Certificates Overview, page 1 Show Certificates, page 3 Download Certificates, page 4 Install Intermediate Certificates, page 4 Delete a Trust Certificate, page 5 Regenerate a Certificate, page 6 Upload

More information

CONTENTS IN DETAIL INTRODUCTION 1 THE FAQS OF LIFE THE SCRIPTS EVERY PHP PROGRAMMER WANTS (OR NEEDS) TO KNOW 1 2 CONFIGURING PHP 19

CONTENTS IN DETAIL INTRODUCTION 1 THE FAQS OF LIFE THE SCRIPTS EVERY PHP PROGRAMMER WANTS (OR NEEDS) TO KNOW 1 2 CONFIGURING PHP 19 CONTENTS IN DETAIL INTRODUCTION xiii 1 THE FAQS OF LIFE THE SCRIPTS EVERY PHP PROGRAMMER WANTS (OR NEEDS) TO KNOW 1 #1: Including Another File as a Part of Your Script... 2 What Can Go Wrong?... 3 #2:

More information

INTERNET DEVELOPERS TOOLKIT FOR G

INTERNET DEVELOPERS TOOLKIT FOR G INSTALLATION AND RELEASE NOTES INTERNET DEVELOPERS TOOLKIT FOR G Version 5.0 Contents These installation and release notes contain information about the Internet Developers Toolkit for G, which you can

More information

Networking and Health Information Exchange Unit 1a ISO Open Systems Interconnection (OSI) Slide 1. Slide 2. Slide 3

Networking and Health Information Exchange Unit 1a ISO Open Systems Interconnection (OSI) Slide 1. Slide 2. Slide 3 Slide 1 Networking and Health Information Exchange Unit 1a ISO Open Systems Interconnection (OSI) Networking and Health Information Exchange Unit 1a ISO Open Systems Interconnection (OSI) Slide 2 Unit

More information

Topic 15: Authentication

Topic 15: Authentication Topic 15: Authentication CITS3403 Agile Web Development Getting MEAN with Mongo, Express, Angular and Node, Chapter 11 Semester 1, 2018 Secure web apps Security is a primary concern for anyone developing

More information

HTTP Protocol and Server-Side Basics

HTTP Protocol and Server-Side Basics HTTP Protocol and Server-Side Basics Web Programming Uta Priss ZELL, Ostfalia University 2013 Web Programming HTTP Protocol and Server-Side Basics Slide 1/26 Outline The HTTP protocol Environment Variables

More information

Attacks Against Websites 3 The OWASP Top 10. Tom Chothia Computer Security, Lecture 14

Attacks Against Websites 3 The OWASP Top 10. Tom Chothia Computer Security, Lecture 14 Attacks Against Websites 3 The OWASP Top 10 Tom Chothia Computer Security, Lecture 14 OWASP top 10. The Open Web Application Security Project Open public effort to improve web security: Many useful documents.

More information

Distributed Systems. 25. Authentication Paul Krzyzanowski. Rutgers University. Fall 2018

Distributed Systems. 25. Authentication Paul Krzyzanowski. Rutgers University. Fall 2018 Distributed Systems 25. Authentication Paul Krzyzanowski Rutgers University Fall 2018 2018 Paul Krzyzanowski 1 Authentication For a user (or process): Establish & verify identity Then decide whether to

More information

Multithreaded Servers

Multithreaded Servers Multithreaded Servers 1 Serving Multiple Clients avoid to block clients with waiting using sockets and threads 2 Waiting for Data from 3 Clients running a simple multithreaded server code for client and

More information

Chapter 2. Application Layer

Chapter 2. Application Layer Chapter 2 Application Layer 2.1. 2-1 INTRODUCTION - The application layer provides services to the user - Communication is provided using a logical connection means that the two application layers assume

More information

Outline of Lecture 5. Course Content. Objectives of Lecture 6 CGI and HTML Forms

Outline of Lecture 5. Course Content. Objectives of Lecture 6 CGI and HTML Forms Web-Based Information Systems Fall 2004 CMPUT 410: CGI and HTML Forms Dr. Osmar R. Zaïane University of Alberta Outline of Lecture 5 Introduction Poor Man s Animation Animation with Java Animation with

More information

CSE484 Final Study Guide

CSE484 Final Study Guide CSE484 Final Study Guide Winter 2013 NOTE: This study guide presents a list of ideas and topics that the TAs find useful to know, and may not represent all the topics that could appear on the final exam.

More information

DNS and SMTP. James Walden CIT 485: Advanced Cybersecurity. James WaldenCIT 485: Advanced Cybersecurity DNS and SMTP 1 / 31

DNS and SMTP. James Walden CIT 485: Advanced Cybersecurity. James WaldenCIT 485: Advanced Cybersecurity DNS and SMTP 1 / 31 DNS and SMTP James Walden CIT 485: Advanced Cybersecurity James WaldenCIT 485: Advanced Cybersecurity DNS and SMTP 1 / 31 Table of contents 1. DNS 2. DNS Protocol Packets 3. DNS Caching 4. DNS Cache Poisoning

More information

CS November 2018

CS November 2018 Authentication Distributed Systems 25. Authentication For a user (or process): Establish & verify identity Then decide whether to allow access to resources (= authorization) Paul Krzyzanowski Rutgers University

More information

Chapter 27 WWW and HTTP Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Chapter 27 WWW and HTTP Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 27 WWW and HTTP 27.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 27-1 ARCHITECTURE The WWW today is a distributed client/server service, in which

More information

Python 3 Quick Reference Card

Python 3 Quick Reference Card Python 3 Quick Reference Card Data types Strings: s = "foo bar" s = 'foo bar' s = r"c:\dir\new" # raw (== 'c:\\dir\\new') s = """Hello world""" s.join(" baz") n = len(s) "Ala ma {} psy i {} koty".format(2,3)

More information

How browsers talk to servers. What does this do?

How browsers talk to servers. What does this do? HTTP HEADERS How browsers talk to servers This is more of an outline than a tutorial. I wanted to give our web team a quick overview of what headers are and what they mean for client-server communication.

More information

Network Applications Electronic Mail

Network Applications Electronic Mail Network Applications Electronic Mail The OSI way to do this is specified in X.400 (84 & 88) Overall Architecture UA P3 UA MS P7 P1 MTS At the core of the X.400 Message Handling System (MHS) is the Message

More information

Microsoft Outlook Setting up an account

Microsoft Outlook Setting up an  account Microsoft Outlook 2010 Setting up an email account In order to be able to send and receive emails from and to your new email account you will need to first set up the account in your Outlook software.

More information

Configuring Request Authentication and Authorization

Configuring Request Authentication and Authorization CHAPTER 15 Configuring Request Authentication and Authorization Request authentication and authorization is a means to manage employee use of the Internet and restrict access to online content. This chapter

More information

Faculty Web Page Management System. Help Getting Started

Faculty Web Page Management System. Help Getting Started Faculty Web Page Management System Help Getting Started 2 Table of Contents Faculty Web Page Management System...1 Help Getting Started...1 Table of Contents...2 Manage My Personal Information...3 Creating

More information

Implementing Secure Socket Layer

Implementing Secure Socket Layer This module describes how to implement SSL. The Secure Socket Layer (SSL) protocol and Transport Layer Security (TLS) are application-level protocols that provide for secure communication between a client

More information

WebsitePanel User Guide

WebsitePanel User Guide WebsitePanel User Guide User role in WebsitePanel is the last security level in roles hierarchy. Users are created by reseller and they are consumers of hosting services. Users are able to create and manage

More information

Lecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. Managing a HTTP request. transport session. Step 1 - opening transport

Lecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. Managing a HTTP request. transport session. Step 1 - opening transport Lecture 2-ter. 2 A communication example Managing a HTTP v1.0 connection Managing a HTTP request User digits URL and press return (or clicks ). What happens (HTTP 1.0): 1. opens a TCP transport session

More information

Hypertext Transfer Protocol Over Secure Sockets Layer (HTTPS)

Hypertext Transfer Protocol Over Secure Sockets Layer (HTTPS) Hypertext Transfer Protocol Over Secure Sockets Layer (HTTPS) This chapter provides information about Hypertext Transfer Protocol over Secure Sockets Layer. HTTPS, page 1 HTTPS for Cisco Unified IP Phone

More information

Clientless SSL VPN End User Set-up

Clientless SSL VPN End User Set-up 71 CHAPTER This section is for the system administrator who sets up Clientless (browser-based) SSL VPN for end users. It summarizes configuration requirements and tasks for the user remote system. It also

More information