Understanding the Dumper Program Google Application Engine University of Michigan Informatics

Size: px
Start display at page:

Download "Understanding the Dumper Program Google Application Engine University of Michigan Informatics"

Transcription

1 UnderstandingtheDumperProgram GoogleApplicationEngine UniversityofMichigan Informatics Thishandoutdescribesaverysimpleandlow levelgoogleapplicationengine applicationcalled Dumper thatjustdumpsoutthedatafromahttprequest. Thisapplicationdoesnotdemonstratethepatternwewillfollowforthereal applications butitdoesservetoshowhowthingsactuallyworkatalowlevel. Request/ResponseCycle Thebasicinteractionbetweenawebbrowserandthewebserveristhattheuser clicksonalink(getrequest)orsubmitsaformwithdata(postrequest).the browseropensatcp/ipconnectiontotheserverandsendstherequest(getor POST)totheserver.Ontheserver,theURLisroutedtotheapplicationandallof theinputdata(path,parameters,etc)ispassedtotheapplication. Theapplicationthenruns,possiblyaccessingadatabaseorsomeothersourceof dataandthenreturnsthehttpresponsetothebrowserfordisplay. Reference: Inthisapplication,wesimplydumpouttheinputdatafromtheGETorPOST requestandreturnahmtlresponsethatincludesaformandthedumpeddata fromthepreviousrequest. TheDumperProgram Note:Thesamplecodeforthisapplicationcanbedownloadedfrom Thedumperprogramconsistsofaverysimpleapp.yamlfileandasingleindex.py PythonfilewhichcontainsthelogicofourAppEngineprogram.

2 app.yaml: application: ae-02-dumper version: 1 runtime: python api_version: 1 handlers: - url: /.* script: index.py Thissimplynamesoutapplication(ae 02 dumper)androutesallincomingrequests totheindex.pyscript. index.py: import os import sys print 'Content-Type: text/html' print '<form method="post" action="/" >' print 'Zap Data: <input type="text" name="zap"><br>' print 'Zot Data: <input type="text" name="zot"><br>' print '<input type="submit">' print '</form>' print '<pre>' print 'Environment keys:' for param in os.environ.keys(): print param, ':', os.environ[param] print 'Data' count = 0 for line in sys.stdin: count = count + 1 print line if count > 100: break print '</pre>' Note:Youwilllikelyendupwithproblemscuttingandpastingsourcecodefrom PDFhandoutsintotextfiles.Itisbettertoeitherdownloadthesourcecodeortype itin. Theindex.pyprogramisbrokenintothreeparts:

3 ThefirstsetofprintstatementssimplyproducetheHTMLforaformwhichcanbe usedtodoatestpostofsoedatatooutprogram. print 'Content-Type: text/html' print '<form method="post" action="/" >' print 'Zap Data: <input type="text" name="zap"><br>' print 'Zot Data: <input type="text" name="zot"><br>' print '<input type="submit">' print '</form>' ThefirstlineisaheaderlinethatisnotartoftheHTMLdataresponse.Sinceweare notusingaframework,whichwouldsendheadersforus,wemanuallyproducethe headerlineandthenablanklinetoindicatetheendoftheheadersandstartofthe actualhtmldata. Theformisquitebasicwithtwotextfieldsandasubmitbuttonwhichwillrender likethis: ThenextlinesoftheprogramreadinasetofvariablespassedinasaPython dictionary.thesearethe environment variables.theyareacombinationofthe serverconfigurationaswellasinformationabouttheparticularrequestitself. Wesimplyiteratethroughthedictionaryandthenprinttheitemsout: print '<pre>' print 'Environment keys:' for param in os.environ.keys(): print param, ':', os.environ[param] Theoutputfromthissectionisasfollows:

4 Theenvironmentvariablesfallintothreecategories: Variablesdescribingtheserverenvironment(SERVER_SOFTWARE, SERVER_NAME) VariablesdescribingtheRequestdata(REQUET_METHOD, HTTP_USER_AGENT,orCONTENT_TYPE) Variablesdescribingthebrowserenvironmentvariables (HTTP_USER_AGENT,HTTP_ACCEPT,etc.) Interestinglythedocumentationabouttheseparametersisdescribedhere: Thisisavery old websitethatdescribesthecommongatewayinterface(cgi) whichwasthewaythattheveryfirstwebserverspassedinputdatafromanhttp requestintoapplicationcoderunningontheserver. Whenweareprogrammingatthislevel(whichwewillnotdoforlong) weare usingtheoldmysticalwaysoftheearlyworld wide web.wewon tusethis

5 programpatternformuchlonger butitisgoodtostartbyunderstandingthelowleveldetailsandthendelegatethehandlingofthosedetailstoawebframework. Thelastpartoftheindex.pyprogramdumpsoutuptothefirst100linesofPOST dataifthedataexists: print 'Data' count = 0 for line in sys.stdin: count = count + 1 print line if count > 100: break AccordingtotherulesofCommonGatewayInterface thepostdataissimply presentedtotheapplicationonits StandardInput.InPythonwecanreadthrough thepredefinedfilehandlesys.stdintoaccessourpostdata. Ifyoulookatthebottomoftheinitialoutputoftheprogram youwillseethatthere isnopostdata becausewhenyounavigatetohttp://localhost:8080thebrowser issuesagetrequestfortheinitialpage. TotestPOSTdatadumpingcode,wemustentersomedataintotheZapandZotdata fieldsandpresssubmit: Whenwepress Submit,ourbrowsersendsaPOSTrequest whichyoucan immediatelyseeintherequet_methodvariablechangefromgettopost: Andifwescrolldowntothebottomoftheoutput,youcanseetheactualPOSTdata:

6 ThePOSTdataisencodedbyescapingspacesandspecialcharacters.Wewould havetoparsetheinputdatausingstringparsingandthenun escapethedatatoget backtotheactualdatathatwastypedintotheform. Thankfully inournextapplication,awebframeworkwillsoondoallthatparsing andescapingforus. Advanced:UploadingFiles Ifyouwanttoplayabit youcanexperimentwithhowfilesareuploadedinthe HTTPrequest/responsecycle.Makethefollowingchangestotheformcode: print '<form method="post" action="/" enctype="multipart/form-data">' print 'Zap Data: <input type="text" name="zap"><br>' print 'Zot Data: <input type="text" name="zot"><br>' print 'File Data: <input type="file" name="filedat"><br>' print '<input type="submit">' Thenruntheprogramagain,selectingafile,typingsomedataandthenpressing submit: Ifyoulookattheoutputfromtheprogramitlooksasfollows:

7 Thecontenttypechangechangedto multipart/form data andnowtheform valuesandthefiledataarespreadoutintheinputstreamwiththiscomplexlooking separatorthatdividesalltheparts. Thisisnecessarybecausethefilewillbealotofdata anditwillcomeinasmany lines.alsothereneedstobealotofdescriptionaboutthenatureofthedata. Reference: Alsoifyouarelookingatthelogfromyourapplicationyouwillseeentriesas follows: INFO :09:21,151 dev_appserver.py] "GET / HTTP/1.1" 200 INFO :09:23,374 dev_appserver.py] "GET / HTTP/1.1" 200 INFO :09:30,463 dev_appserver.py] "POST / HTTP/1.1" YoucanseethedifferentGETandPOSTrequestsbeginprocessedintheAppEngine log. Summary

8 ThissimpleprogramallowsustolookathowtheHTTPRequest/Responsestyleis supportedinthegoogleapplicationengine.theapplicationengineframework givesusaveryprimitivecommongateway(gci)compliantinterfacewith environmentvariables,standardinput,andstandardoutput.wecanexamineall thedatathattheappenginemakesavailabletoourscripts. Ultimatelythisisonlyofpassinginterestbecausewewilldelegatemuchofthe detailofhandlingtherequestandresponsetothebuiltinwebapplication frameworkinthegoogleapplicationengine. Whenweusetheframework,ourcodemayseemalittlemorecomplexbutthe frameworktakescareofamyriadofsmalldetailsofparameterpassing,parsing, headers,andconversion. Reference: ThismaterialsisCopyrightCreativeCommonsAttribution2.5 CharlesSeverance chuck.com

Chapter 4 Sending Data to Your Application

Chapter 4 Sending Data to Your Application Chapter 4 Sending Data to Your Application Charles Severance and Jim Eng csev@umich.edu jimeng@umich.edu Textbook: Using Google App Engine, Charles Severance Unless otherwise noted, the content of this

More information

App Engine Web App Framework

App Engine Web App Framework App Engine Web App Framework Jim Eng / Charles Severance jimeng@umich.edu / csev@umich.edu www.appenginelearn.com Textbook: Using Google App Engine, Charles Severance (Chapter 5) Unless otherwise noted,

More information

App Engine Web App Framework

App Engine Web App Framework App Engine Web App Framework Jim Eng / Charles Severance jimeng@umich.edu / csev@umich.edu www.appenginelearn.com Textbook: Using Google App Engine, Charles Severance (Chapter 5) Unless otherwise noted,

More information

Installing and Running the Google App Engine On a Macintosh System

Installing and Running the Google App Engine On a Macintosh System Installing and Running the Google App Engine On a Macintosh System This document describes the installation of the Google App Engine Software Development Kit (SDK) on a Macintosh and running a simple hello

More information

Copyright 2009, Charles Severance.

Copyright 2009, Charles Severance. Unlessotherwisenoted,thecontentofthiscoursematerialislicensedundera Crea5veCommonsA8ribu5on3.0License. h8p://crea5vecommons.org/licenses/by/3.0/. Copyright 2009,CharlesSeverance. Youassumeallresponsibilityforuseandpoten5alliabilityassociatedwithanyuseofthematerial.Materialcontainscopyrightedcontent,usedin

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

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

Google App Engine Using Templates

Google App Engine Using Templates Google App Engine Using Templates Charles Severance and Jim Eng csev@umich.edu jimeng@umich.edu Textbook: Using Google App Engine, Charles Severance Unless otherwise noted, the content of this course material

More information

Chapter 19: Twitter in Twenty Minutes

Chapter 19: Twitter in Twenty Minutes Chapter 19: Twitter in Twenty Minutes In the last chapter, we learned how to create and query persistent data with App Engine and Google's Datastore. This chapter continues with that discussion by stepping

More information

EMC White Paper. BPS http Listener. Installing and Configuring

EMC White Paper. BPS http Listener. Installing and Configuring EMC White Paper BPS http Listener Installing and Configuring March 2006 Copyright 2005 EMC Corporation. All rights reserved. EMC believes the information in this publication is accurate as of its publication

More information

Building Sakai Tools in Google App Engine. Dr. Charles Severance University of Michigan IMS Global Learning Consortium

Building Sakai Tools in Google App Engine. Dr. Charles Severance University of Michigan IMS Global Learning Consortium Building Sakai Tools in Google App Engine Dr. Charles Severance University of Michigan IMS Global Learning Consortium www.dr-chuck.com http://drchuck.dyndns.org /~csev/sakai-workshop/ www.appenginelearn.com

More information

Application Note. Web Signing. Document version

Application Note. Web Signing. Document version Application Note Web Signing Document version 1.1 31.10.2008 Population Register Centre (VRK) Certification Authority Services P.O. Box 70 FIN-00581 Helsinki Finland http://www.fineid.fi Application Note

More information

CROSS SITE PRINTING. Printer Spamming

CROSS SITE PRINTING. Printer Spamming CROSS SITE PRINTING Printer Spamming By using only JavaScript, an Internet web site can remotely print to an internal network based printer by doing an HTTP Post. The web site initiating the print request

More information

PHP 5 if...else...elseif Statements

PHP 5 if...else...elseif Statements PHP 5 if...else...elseif Statements Conditional statements are used to perform different actions based on different conditions. PHP Conditional Statements Very often when you write code, you want to perform

More information

Princess Nourah bint Abdulrahman University. Computer Sciences Department

Princess Nourah bint Abdulrahman University. Computer Sciences Department Princess Nourah bint Abdulrahman University Computer Sciences Department 1 And use http://www.w3schools.com/ PHP Part 3 Objectives Creating a new MySQL Database using Create & Check connection with Database

More information

Security and Monitoring

Security and Monitoring Logout Inactivity Timer, page 1 Problem Reporting, page 1 Set Device PIN, page 3 Silent Monitoring and Call Recording, page 4 Telemetry, page 4 Logout Inactivity Timer Applies to: All clients The sign

More information

CSE 154 LECTURE 9: SUBMITTING DATA (POST)

CSE 154 LECTURE 9: SUBMITTING DATA (POST) CSE 154 LECTURE 9: SUBMITTING DATA (POST) Drop-down list: , menus of choices that collapse and expand (inline) jerry george

More information

We have purposely designed the sendspace API to be easy to implement and as versatile as possible, regardless of platform and programming language.

We have purposely designed the sendspace API to be easy to implement and as versatile as possible, regardless of platform and programming language. Main Welcome to the home of our Application Programming Interface (API) 1.1, which allows you to embed sendspace services in your applications, programs, or scripts. We have purposely designed the sendspace

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

First Simple Interactive JSP example

First Simple Interactive JSP example Let s look at our first simple interactive JSP example named hellojsp.jsp. In his Hello User example, the HTML page takes a user name from a HTML form and sends a request to a JSP page, and JSP page generates

More information

COMP519 Practical 14 Python (5)

COMP519 Practical 14 Python (5) COMP519 Practical 14 Python (5) Introduction This practical contains further exercises that are intended to familiarise you with Python Programming. While you work through the tasks below compare your

More information

Outline. Lecture 8: CGI (Common Gateway Interface ) Common Gateway Interface (CGI) CGI Overview

Outline. Lecture 8: CGI (Common Gateway Interface ) Common Gateway Interface (CGI) CGI Overview Outline Lecture 8: CGI (Common Gateway Interface ) CGI Overview Between Client and Handler Between Web Server and Handler Wendy Liu CSC309F Fall 2007 1 2 Common Gateway Interface (CGI) CGI Overview http://www.oreilly.com/openbook/cgi/

More information

Web Transaction API HELP.BCFESITSTRANAPI. Release 4.6C

Web Transaction API HELP.BCFESITSTRANAPI. Release 4.6C HELP.BCFESITSTRANAPI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express

More information

wp_insert_attachment

wp_insert_attachment /** * @article Front end file uploads in * WordPress * * @since July 3, 2010 * @package Wordpress * * @tags attachments, * upload handling * @comments 79 comments * */ wp_insert_attachment $wp_filetype

More information

CSE 154 LECTURE 19: FORMS AND UPLOADING FILES

CSE 154 LECTURE 19: FORMS AND UPLOADING FILES CSE 154 LECTURE 19: FORMS AND UPLOADING FILES Exercise: Baby name web service JSON Modify our babynames.php service to produce its output as JSON. For the data: Morgan m 375 410 392 478 579 507 636 499

More information

Information Retrieval CS Lecture 13. Razvan C. Bunescu School of Electrical Engineering and Computer Science

Information Retrieval CS Lecture 13. Razvan C. Bunescu School of Electrical Engineering and Computer Science Information Retrieval CS 6900 Razvan C. Bunescu School of Electrical Engineering and Computer Science bunescu@ohio.edu Web Search Interfaces Web search engines need a web-based interface. Search page accepts

More information

PHP with data handling

PHP with data handling 171 Lesson 18 PHP with data handling Aim Objectives : To provide an introduction data handling with PHP : To give an idea about, What type of data you need to handle? How PHP handle the form data? 18.1

More information

ASPFileSaver - File Upload Component

ASPFileSaver - File Upload Component Website: www.aspphotoresizer.com Email: info@aspphotoresizer.com ASPFileSaver - File Upload Component This is an ASP component for saving files that have been uploaded through a browser using the

More information

World Wide Web, etc.

World Wide Web, etc. World Wide Web, etc. Alex S. Raw data-packets wouldn t be much use to humans if there weren t many application level protocols, such as SMTP (for e-mail), HTTP & HTML (for www), etc. 1 The Web The following

More information

Package Rook. February 15, 2013

Package Rook. February 15, 2013 Package Rook February 15, 2013 Type Package Title Rook - a web server interface for R Version 1.0-9 Date 2013-01-10 Author Jeffrey Horner Maintainer Jeffrey Horner

More information

2. What is Google App Engine. Overview Google App Engine (GAE) is a Platform as a Service (PaaS) cloud computing platform for developing and hosting web applications in Google-managed data centers. Google

More information

PES INSTITUTE OF TECHNOLOGY, SOUTH CAMPUS DEPARTMENT OF MCA INTERNAL TEST (SCHEME AND SOLUTION) II

PES INSTITUTE OF TECHNOLOGY, SOUTH CAMPUS DEPARTMENT OF MCA INTERNAL TEST (SCHEME AND SOLUTION) II PES INSTITUTE OF TECHNOLOGY, SOUTH CAMPUS DEPARTMENT OF MCA INTERNAL TEST (SCHEME AND SOLUTION) II Subject Name: Advanced JAVA programming Subject Code: 13MCA42 Time: 11:30-01:00PM Max.Marks: 50M ----------------------------------------------------------------------------------------------------------------

More information

Course Topics. The Three-Tier Architecture. Example 1: Airline reservations. IT360: Applied Database Systems. Introduction to PHP

Course Topics. The Three-Tier Architecture. Example 1: Airline reservations. IT360: Applied Database Systems. Introduction to PHP Course Topics IT360: Applied Database Systems Introduction to PHP Database design Relational model SQL Normalization PHP MySQL Database administration Transaction Processing Data Storage and Indexing The

More information

COMP519 Web Programming Autumn CGI Programming

COMP519 Web Programming Autumn CGI Programming COMP519 Web Programming Autumn 2015 CGI Programming CGI Programming These lectures notes are designed to: Teach you how to use CGI in server-side programming Use environmental variables in Python Access

More information

COMP519 Web Programming Autumn CGI Programming

COMP519 Web Programming Autumn CGI Programming COMP519 Web Programming Autumn 2015 CGI Programming CGI Programming These lectures notes are designed to: Teach you how to use CGI in server-side programming Use environmental variables in Python Access

More information

CGI Subroutines User's Guide

CGI Subroutines User's Guide FUJITSU Software NetCOBOL V11.0 CGI Subroutines User's Guide Windows B1WD-3361-01ENZ0(00) August 2015 Preface Purpose of this manual This manual describes how to create, execute, and debug COBOL programs

More information

CSC309: Introduction to Web Programming. Lecture 8

CSC309: Introduction to Web Programming. Lecture 8 CSC309: Introduction to Web Programming Lecture 8 Wael Aboulsaadat Front Layer Web Browser HTTP Request Get http://abc.ca/index.html Web (HTTP) Server HTTP Response .. How

More information

External HTML E-form Guide

External HTML E-form Guide External HTML E-form Guide A guide for creation and setup of external e- froms for FileBound. Document Version: 6.5.2 Published Date: 2/27/2014 - 2 - Copyright Copyright 2013 FileBound All Rights Reserved.

More information

Webservices, Proxies, Rest, File Uploads, Security. CS174. Chris Pollett. Nov. 3, 2008.

Webservices, Proxies, Rest, File Uploads, Security. CS174. Chris Pollett. Nov. 3, 2008. Webservices, Proxies, Rest, File Uploads, Security. CS174. Chris Pollett. Nov. 3, 2008. Outline. Web Services. REST. JSON Example. More PHP. Web Services. One important use of AJAX and PHP is to allow

More information

CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB

CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB Unit 8 HTML Forms and Basic CGI Slides based on course material SFU Icons their respective owners 1 Learning Objectives In this unit you will

More information

Web Focused Programming With PHP

Web Focused Programming With PHP Web Focused Programming With PHP May 20 2014 Thomas Beebe Advanced DataTools Corp (tom@advancedatatools.com) Tom Beebe Tom is a Senior Database Consultant and has been with Advanced DataTools for over

More information

Homework #7 Google Cloud Platform

Homework #7 Google Cloud Platform Homework #7 Google Cloud Platform This semester we are allowing all students to explore cloud computing as offered by the Google Cloud Platform. Using the instructions below one can establish a website

More information

PHP Hypertext Preprocessor

PHP Hypertext Preprocessor PHP Hypertext Preprocessor A brief survey Stefano Fontanelli stefano.fontanelli@sssup.it January 16, 2009 Stefano Fontanelli stefano.fontanelli@sssup.it PHP Hypertext Preprocessor January 16, 2009 1 /

More information

CP215 Application Design

CP215 Application Design CP215 Application Design Microsoft HoloLens developer preorder: $3,000 Tech News! Tech News! Microsoft HoloLens developer preorder: $3,000 Raspberry Pi 3 with Wi-Fi and Bluetooth built-in: $35 Hacker's

More information

Date Picker Haim Michael

Date Picker Haim Michael Date Picker Introduction The date picker is one of the most popular jquery widgets in use. It is highly configurable and extremely easy to implement. Introduction Simple Date Picker

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

Zend Zend Certified PHP Developer. Download Full Version :

Zend Zend Certified PHP Developer. Download Full Version : Zend 200-550 Zend Certified PHP Developer Download Full Version : http://killexams.com/pass4sure/exam-detail/200-550 QUESTION: 209 What is the return value of the following code: substr_compare("foobar",

More information

Scala for Sling. Building RESTful Web Applications with Scala for Sling. LOGO SPEAKER S COMPANY

Scala for Sling. Building RESTful Web Applications with Scala for Sling.  LOGO SPEAKER S COMPANY Scala for Sling Building RESTful Web Applications with Scala for Sling http://people.apache.org/~mduerig/scala4sling/ Michael Dürig Day Software AG 10080 LOGO SPEAKER S COMPANY AGENDA 2 > Introduction

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

Dynamic Form Processing Tool Version 5.0 November 2014

Dynamic Form Processing Tool Version 5.0 November 2014 Dynamic Form Processing Tool Version 5.0 November 2014 Need more help, watch the video! Interlogic Graphics & Marketing (719) 884-1137 This tool allows an ICWS administrator to create forms that will be

More information

MWR InfoSecurity Security Advisory. DotNetNuke Cross Site Request Forgery Vulnerability Contents

MWR InfoSecurity Security Advisory. DotNetNuke Cross Site Request Forgery Vulnerability Contents Contents MWR InfoSecurity Security Advisory DotNetNuke Cross Site Request Forgery Vulnerability 2010-06-14 2010-06-14 Page 1 of 7 Contents Contents 1 Detailed Vulnerability Description... 4 1.1 Introduction...

More information

CS 410/510: Web Basics

CS 410/510: Web Basics CS 410/510: Web Basics Basics Web Clients HTTP Web Servers PC running Firefox Web Server Mac running Chrome Web Clients Basic Terminology HTML JavaScript Terminology Web page consists of objects Each object

More information

Web technologies. Web. basic components. embellishments in browser. DOM (document object model)

Web technologies. Web. basic components. embellishments in browser. DOM (document object model) Web technologies DOM (document object model) what's on the page and how it can be manipulated forms / CGI (common gateway interface) extract info from a form, create a page, send it back server side code

More information

Flask-Uploads Documentation

Flask-Uploads Documentation Flask-Uploads Documentation Release 0.1.1 Matthew "LeafStorm" Frazier Nov 02, 2017 Contents 1 Configuration 3 2 Upload Sets 5 3 App Configuration 7 4 File Upload Forms 9 5 API Documentation 11 5.1 Upload

More information

HTML forms and the dynamic web

HTML forms and the dynamic web HTML forms and the dynamic web Antonio Lioy < lioy@polito.it > english version created by Marco D. Aime < m.aime@polito.it > Politecnico di Torino Dip. Automatica e Informatica timetable.html departure

More information

c360 Web Connect Configuration Guide Microsoft Dynamics CRM 2011 compatible c360 Solutions, Inc. c360 Solutions

c360 Web Connect Configuration Guide Microsoft Dynamics CRM 2011 compatible c360 Solutions, Inc.   c360 Solutions c360 Web Connect Configuration Guide Microsoft Dynamics CRM 2011 compatible c360 Solutions, Inc. www.c360.com c360 Solutions Contents Overview... 3 Web Connect Configuration... 4 Implementing Web Connect...

More information

Course Topics. IT360: Applied Database Systems. Introduction to PHP

Course Topics. IT360: Applied Database Systems. Introduction to PHP IT360: Applied Database Systems Introduction to PHP Chapter 1 and Chapter 6 in "PHP and MySQL Web Development" Course Topics Relational model SQL Database design Normalization PHP MySQL Database administration

More information

Injecting Security Controls into Software Applications. Katy Anton

Injecting Security Controls into Software Applications. Katy Anton Injecting Security Controls into Software Applications Katy Anton About me Software development background Principal Security Consultant - CA Technologies Veracode OWASP Bristol Chapter Leader Project

More information

CS 418 Web Programming Spring 2013 IMAGES SCOTT G. AINSWORTH.

CS 418 Web Programming Spring 2013 IMAGES SCOTT G. AINSWORTH. CS 418 Web Programming Spring 2013 IMAGES SCOTT G. AINSWORTH http://www.cs.odu.edu/~sainswor/cs418-s13/ OUTLINE Assigned Reading Chapter 7 "Manipulating and Creating Images with PHP" Uploading Files Manipulating

More information

Slybroadcast Global API Documentation Version 3.0 June 2018

Slybroadcast Global API Documentation Version 3.0 June 2018 Slybroadcast Global API Documentation Version 3.0 June 2018 MobileSphere 7 Faneuil Hall Marketplace, 4 th Floor Boston, MA 617.399.9980 1 Slybroadcast API 1. MobileSphere s slybroadcast API MobileSphere

More information

Construction d Applications Réparties / Master MIAGE

Construction d Applications Réparties / Master MIAGE Construction d Applications Réparties / Master MIAGE HTTP and Servlets Giuseppe Lipari CRiSTAL, Université de Lille February 24, 2016 Outline HTTP HTML forms Common Gateway Interface Servlets Outline HTTP

More information

Javascript, Java, Flash, Silverlight, HTML5 (animation, audio/video, ) Ajax (asynchronous Javascript and XML)

Javascript, Java, Flash, Silverlight, HTML5 (animation, audio/video, ) Ajax (asynchronous Javascript and XML) Web technologies browser sends requests to server, displays results DOM (document object model): structure of page contents forms / CGI (common gateway interface) client side uses HTML/CSS, Javascript,

More information

Form Processing in PHP

Form Processing in PHP Form Processing in PHP Forms Forms are special components which allow your site visitors to supply various information on the HTML page. We have previously talked about creating HTML forms. Forms typically

More information

LING 408/508: Computational Techniques for Linguists. Lecture 21

LING 408/508: Computational Techniques for Linguists. Lecture 21 LING 408/508: Computational Techniques for Linguists Lecture 21 Administrivia Both Homework 7 and 8 have been graded Homework 9 today Example: example.cgi SiteSites$./example.cgi Content-Type: text/html;

More information

Application Express Listener Developer Guide

Application Express Listener Developer Guide Application Express Listener Developer Guide Table of Contents Introduction...3 What is a RESTful API?...3 Resource Templates...3 Resource Templates Administration...4 Create a Resource Template...4 URI

More information

Penetration Test Report

Penetration Test Report Penetration Test Report Feb 12, 2018 Ethnio, Inc. 6121 W SUNSET BLVD LOS angeles, CA 90028 Tel (888) 879-7439 ETHN.io Summary This document contains the most recent pen test results from our third party

More information

API Programmer Guide for Cisco Show and Share Release 5.2.3, 5.3.x, and 5.5

API Programmer Guide for Cisco Show and Share Release 5.2.3, 5.3.x, and 5.5 Cisco Digital Media Suite Release 5.2.3, 5.3.x, and 5.5 API Programmer Guide for Cisco Show and Share Release 5.2.3, 5.3.x, and 5.5 Version 0.9 Revised: October 2014 2010-2014 Cisco Systems, Inc. All rights

More information

Google App Engine Data Store. Google is BIG. Advanced Stuff.

Google App Engine Data Store. Google is BIG. Advanced Stuff. Google App Engine Data Store ae-10-datastore Unless otherwise noted, the content of this course material is licensed under a Creative Commons Attribution 3.0 License. http://creativecommons.org/licenses/by/3.0/.

More information

CS4HS Using Google App Engine. Michael Parker

CS4HS Using Google App Engine. Michael Parker CS4HS Using Google App Engine Michael Parker (michael.g.parker@gmail.com) So what is it? What's it for? Building and running web applications Why use it? Handles serving web pages, efficiently storing

More information

Multi-Post XSRF Web App Exploitation, total pwnage

Multi-Post XSRF Web App Exploitation, total pwnage Multi-Post XSRF Web App Exploitation, total pwnage Adrien de Beaupré SANS ISC Handler Tester of pens Certified SANS Instructor Intru-Shun.ca Inc. SecTor 2015 Introduction Web application vulnerabilities.

More information

Setting up a Shibboleth SP

Setting up a Shibboleth SP Setting up a Shibboleth SP Overview Install the SP (shibd) Install with yum Install manually Make Sure shibd Runs at Startup Configuration Configure shib.conf Configure httpd.conf Configure attribute-map.xml

More information

1 Form Basics CSC309

1 Form Basics CSC309 1 Form Basics Web Data 2! Most interesting web pages revolve around data! examples: Google, IMDB, Digg, Facebook, YouTube! can take many formats: text, HTML, XML, multimedia! Many of them allow us to access

More information

CGI Programming. What is "CGI"?

CGI Programming. What is CGI? CGI Programming What is "CGI"? Common Gateway Interface A means of running an executable program via the Web. CGI is not a Perl-specific concept. Almost any language can produce CGI programs even C++ (gasp!!)

More information

CS2021- Week 10 Models and Views. Model, View, Controller. Web Development Model, Views, Controller Templates Databases

CS2021- Week 10 Models and Views. Model, View, Controller. Web Development Model, Views, Controller Templates Databases CS2021- Week 10 Models and Views Web Development Model, Views, Controller Templates Databases Model, View, Controller The MVC pa@ern is simple and very useful in web development. MVC pa@ern forces one

More information

Forms, CGI. Objectives

Forms, CGI. Objectives Forms, CGI Objectives The basics of HTML forms How form content is submitted GET, POST Elements that you can have in forms Responding to forms Common Gateway Interface (CGI) Later: Servlets Generation

More information

Summary 4/5. (contains info about the html)

Summary 4/5. (contains info about the html) Summary Tag Info Version Attributes Comment 4/5

More information

A QUICK GUIDE TO PROGRAMMING FOR THE WEB. ssh (then type your UBIT password when prompted)

A QUICK GUIDE TO PROGRAMMING FOR THE WEB. ssh (then type your UBIT password when prompted) A QUICK GUIDE TO PROGRAMMING FOR THE WEB TO GET ACCESS TO THE SERVER: ssh Secure- Shell. A command- line program that allows you to log in to a server and access your files there as you would on your own

More information

Chapter 1 FORMS. SYS-ED/ Computer Education Techniques, Inc.

Chapter 1 FORMS. SYS-ED/ Computer Education Techniques, Inc. Chapter 1 FORMS SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: How to use forms and the related form types. Controls for interacting with forms. Menus and presenting users with

More information

Exam Actual. Higher Quality. Better Service! QUESTION & ANSWER

Exam Actual. Higher Quality. Better Service! QUESTION & ANSWER Higher Quality Better Service! Exam Actual QUESTION & ANSWER Accurate study guides, High passing rate! Exam Actual provides update free of charge in one year! http://www.examactual.com Exam : 200-530 Title

More information

Building Python web app on GAE

Building Python web app on GAE Building Python web app on GAE tw3gsucks, a 3G network speed test web app. PyHUG Tsai, Shih-Chang 2011/12/21 It all starts with... 3G network is really SUCKS!!! I'm used to live in a connected world! Bad

More information

SocialMiner Configuration

SocialMiner Configuration This section outlines the initial setup that must be performed when SocialMiner is first installed as well as the ongoing user-configurable options that can be used once the system is up and running. The

More information

webapp2 Documentation

webapp2 Documentation webapp2 Documentation Release 3.0.0b1 Rodrigo Moraes Jun 20, 2017 Contents 1 Quick links 3 2 Status 5 3 Tutorials 7 4 Guide 31 5 API Reference - webapp2 57 6 API Reference - webapp2_extras 73 7 API Reference

More information

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

PASS4TEST. IT Certification Guaranteed, The Easy Way!  We offer free update service for one year PASS4TEST IT Certification Guaranteed, The Easy Way! \ http://www.pass4test.com We offer free update service for one year Exam : 200-530 Title : Zend PHP 5.3 Certification Vendors : Zend-Technologies Version

More information

LAMP, WEB ARCHITECTURE, AND HTTP

LAMP, WEB ARCHITECTURE, AND HTTP CS 418 Web Programming Spring 2013 LAMP, WEB ARCHITECTURE, AND HTTP SCOTT G. AINSWORTH http://www.cs.odu.edu/~sainswor/cs418-s13/ 2 OUTLINE Assigned Reading Chapter 1 Configuring Your Installation pgs.

More information

Advanced CSRF and Stateless at OWASP AppSec Research 2012

Advanced CSRF and Stateless at OWASP AppSec Research 2012 Advanced CSRF and Stateless Anti-CSRF @johnwilander at OWASP AppSec Research 2012 Frontend developer at Svenska Handelsbanken Researcher in application security Co-leader OWASP Sweden @johnwilander johnwilander.com

More information

Web Programming with Python and JavaScript

Web Programming with Python and JavaScript Web Programming with Python and JavaScript Lecture 9: Security July 26, 2018 Grades 3, 3, 3 Security Context Git HTML Flask SQL APIs JavaScript Django CI/CD Scalability Git Open-Source Software Two-Factor

More information

By completing this practical, the students will learn how to accomplish the following tasks:

By completing this practical, the students will learn how to accomplish the following tasks: By completing this practical, the students will learn how to accomplish the following tasks: Learn different ways by which styles that enable you to customize HTML elements and precisely control the formatting

More information

LICENSE4J AUTO LICENSE GENERATION AND ACTIVATION SERVER USER GUIDE

LICENSE4J AUTO LICENSE GENERATION AND ACTIVATION SERVER USER GUIDE LICENSE4J AUTO LICENSE GENERATION AND ACTIVATION SERVER USER GUIDE VERSION 1.7.1 LICENSE4J www.license4j.com Table of Contents Getting Started... 2 Server Roles... 4 Installation... 9 Server WAR Deployment...

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

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

Advanced Authoring Templates for WebSphere Portal content publishing

Advanced Authoring Templates for WebSphere Portal content publishing By David Wendt (wendt@us.ibm.com) Software Engineer, IBM Corp. October 2003 Advanced Authoring Templates for WebSphere Portal content publishing Abstract This paper describes some advanced techniques for

More information

CORS Attacks. Author: Milad Khoshdel Blog: P a g e. CORS Attacks

CORS Attacks. Author: Milad Khoshdel Blog: P a g e. CORS Attacks Author: Milad Khoshdel Blog: https://blog.regux.com Email: miladkhoshdel@gmail.com 1 P a g e Contents What is CORS?...3 How to Test?...4 CORS Checker Script...6 References...9 2 P a g e What is CORS? CORS

More information

APACHE SLING & FRIENDS TECH MEETUP BERLIN, SEPTEMBER Hypermedia API Tools for Sling (HApi) Andrei Dulvac, Adobe

APACHE SLING & FRIENDS TECH MEETUP BERLIN, SEPTEMBER Hypermedia API Tools for Sling (HApi) Andrei Dulvac, Adobe APACHE SLING & FRIENDS TECH MEETUP BERLIN, 28-30 SEPTEMBER 2015 Hypermedia API Tools for Sling (HApi) Andrei Dulvac, Adobe ToC HatEoAS, Hypermedia formats, and semantic data Hypermedia API tools (HApi)

More information

Practice Test 3. 2) The onload event handler is used, most often, in association with which tag? a) a b) p c) body d) form

Practice Test 3. 2) The onload event handler is used, most often, in association with which tag? a) a b) p c) body d) form Practice Test 3 Part 1: Multiple Choice / Short Answer Select the best answer from the options given. 1) 1) What does PHP stand for? a) Hypertext Preprocessor b) Personal Hypertext Processor c) Personal

More information

Introduction to Python

Introduction to Python Introduction to Python Version 1.1.5 (12/29/2008) [CG] Page 1 of 243 Introduction...6 About Python...7 The Python Interpreter...9 Exercises...11 Python Compilation...12 Python Scripts in Linux/Unix & Windows...14

More information

youtube-dl-api-server Release 0.3

youtube-dl-api-server Release 0.3 youtube-dl-api-server Release 0.3 Sep 11, 2017 Contents 1 Install the server 3 1.1 Using pip................................................. 3 1.2 From source...............................................

More information

HTML Element A pair of tags and the content these include are known as an element

HTML Element A pair of tags and the content these include are known as an element HTML Tags HTML tags are used to mark-up HTML elements. HTML tags are surrounded by the two characters < and >. The surrounding characters are called angle brackets HTML tags are not case sensitive,

More information

Exam Questions

Exam Questions Exam Questions 200-530 Zend PHP 5.3 Certification https://www.2passeasy.com/dumps/200-530/ 1.You\'d like to use the class MyDBConnection that\'s defined in the MyGreatFrarnework\\GreafDatabaseAbstractionLayer

More information

Remote Procedure Calling

Remote Procedure Calling Remote Procedure Calling Dr. Andrew C.R. Martin andrew.martin@ucl.ac.uk http://www.bioinf.org.uk/ Aims and objectives Understand the concepts of remote procedure calling and web services To be able to

More information

Introduction to HTTP. Jonathan Sillito

Introduction to HTTP. Jonathan Sillito Introduction to HTTP Jonathan Sillito If you interested in working with a professor next Summer 2011 apply for an NSERC Undergraduate Student Award. Students must have a GPA of 3.0 or higher to be eligible.

More information