Laravel. Routing Filtering Model View Controller. Web Technologies II Artūrs Lavrenovs

Size: px
Start display at page:

Download "Laravel. Routing Filtering Model View Controller. Web Technologies II Artūrs Lavrenovs"

Transcription

1 Laravel Routing Filtering Model View Controller Web Technologies II Artūrs Lavrenovs

2 Laravel Routing+MVC

3 Routing Study documentation

4 Routing ALL requests coming to Laravel are routed Front controller pattern is handled by index.php Routing is handled by app/routes.php We will cover only some basic things, enough for practical assignment Laravel also enables things like domain routing, route prefixing, secure routing, etc.

5 Routing code Place your code in app/routes.php Routing code looks like this Route::$method($path, $action); Where Route is Laravel routing PHP Class $method is HTTP request method (or any), we will use get (for requesting data) and post (for changing data) $path is request URI path, e.g., /post/edit/123 $action is action to be performed, e.g., closures that generate and return appropriate content

6 Routing default page When browser requests actually is requested So when Default page aka Index aka root is requested, request URI path is / Handling GET request for default page Route::get('/', function() { }); return 'This is default page';

7 Routing action Action that gets passed to the routing call Can be Anonymous function function() { return 'This is default page'; } Array with some Laravel parameters Controller class with method MVC way 'ArticleController@showIndex' Goal of the functions is to return content to display in browser Return content itself return 'This is default page'; Call View, which instead will generate content, return it return View::make('hello'); Call Controller and expect it to return some View result (we'll be doing this)

8 Routing path parameters Laravel provides us with nice URLs out-of-box We don't want to spoil our nice URLs like /post/edit with parameters like?id=123 What to do? Put parameters inside path, e.g., make /post/edit?id=123 into /post/edit/123 Parameters in path are put inside {}, optional parameters marked with? at the end of the name Route::get('/post/{action}/{post_id?}', function($action, $post_id = null) { }); echo 'I want to ', $action, ' '; if (!empty($post_id)) echo $post_id;

9 Routing path parameter constraints Usually you have some idea what kind of parameters to expect in the URL You can place constraints (RegEx) on the Route In previous example we might want action to be a word and post_id integer )->where('action', '[A-Za-z]+') ->where('post_id', '[0-9]+'); Increased security And handle everything unknown with POST requests

10 Filtering

11 Filtering Filter is a set of rules or actions that can be applied to a route Filter can be executed in relation to route's logic before (extremely useful) affect the response after (less useful) logging, cleanup Access control is most useful type of filtering Does current user have permission to access the page under certain route? Remember EDS leak? We will cover only basics of Laravel filtering

12 Filtering code Filters are created as Closures and placed in app/filters.php (we will do this) and look like this Route::filter($name, $closure); Where filter is Route class method $name is some string you choose as name $closure is anonymous function doing the work Filters can also be created as PHP classes For advanced projects Create app/filters, place there, update composer.json

13 Example filter Let's filter access by IP Route::filter('ipfilter', function() { if ($_SERVER['REMOTE_ADDR']!== ' ') { return Response::make('Forbidden', 401); } });

14 Using filters In previous step we only defined the filter, to use filter we need to attach it to the route it is done by using array with parameters as routing action Route::get('/hello/world', array( 'before' => 'ipfilter', function() { $hello = 'Hello, World!'; return $hello; } ));

15 Default filtering By default app/filters.php contain global filters that apply to ALL requests App::before(function($request) {}); App::after(function($request, $response) {}); There are some default filters for Laravel authentication layer (we'll discuss them later) Also CSRF token filter is provided by default

16 Some more useful filtering You can execute multiple filters by using array 'before'=>array('filter1','filter2','filter3') You can apply before and after filters together After filters are set by 'after'=>'afterfilter1' You can make filter more universal using parameters While defining in app/filters.php Route::filter('filter1', function($route, $request, $param){}); While attaching in app/routes.php 'before' => 'filter1:someusefulparam'

17 Model

18 Model Business domain Each important thing in the application will probably need a Model class which corresponds to database table Laravel model is handled by ORM It is called Eloquent and implements ActiveRecord Each model class extends Eloquent

19 Model II In a simplistic scenario Model might act only as data store In a simple Blog system probable model classes are Post, Comment, User Each class property corresponds to database table field Each method corresponds to some domain logic If no domain logic then can instantiate model class anywhere and interact with it

20 Model III Place models in app/models and call it ModelClass.php By default provided User model skeleton Model class name corresponds to lowercase table name Important part of the Laravel, we'll discuss this other time

21 View

22 View Visual representation of a model Job is simple - take variable and output it inside HTML (or other markup) Default approach (for most frameworks) HTML with PHP snippets echoing variables We will not use this view approach because Laravel has templating engine called Blade We will use Blade and discuss it other time

23 Laravel View Goal of the most browser requests is to receive rendered view You have to return the result from the Controller Code to call View rendering View::make($viewname, $data); Where View is Laravel view class and make is method rendering the view $viewname is name of the view, actual view is stored as $viewname.php in app/views/ $data is associative array containing data to display which gets expanded inside view

24 Laravel View file HTML file containing PHP code for only printing variables received only from $data Code inside app/routes.php Route::get('/post/{action}/{post_id?}', function($action, $post_id = "default") { }); $data = array('action'=>$action,'postid'=>$post_id); return View::make('simple', $data); Code inside app/views/simple.php <!doctype html> <html lang="en"> <head><meta charset="utf-8"><title><?php echo $action;? ></title></head> <body><p><?php echo $postid;?></p></body> </html>

25 Controller

26 Controller Place where you have to put all of your application logic (we'll do this) Controller Gets and processes input Interacts with models Return some result (usually View) to the client All the action performed in routing step (inside Closures) are moved inside controllers Each routing action corresponds to public method of Controller

27 Controllers in Laravel Controllers are stored in app/controllers each class in separate file Naming convention word Controller is appended to PHP Class name Controller file name Example Post controller Class gets named PostController File gets named PostController.php

28 Controller Class Controller class inherits (extends) Laravel BaseController class class PostController extends BaseController {} Each action must be public method of the Controller class method parameters correspond to path parameters public function showaction($action) { } return $action; But how to make it work?

29 Routing to Controller You still need to give Controller control using routing Route::get('/post/{action}', Where {action} is path parameter passed to controller method PostController is the controller class showaction is the controller method For each method you have to manually define routing entry (same as the above) Still it sounds as gruesome task and it is

30 RESTful Controllers Enables to give control over whole prefix path to Controller (we'll use this) Put in routes Route::controller('post', 'PostController'); Where controller is appropriate Route method (different from previous examples) post is path prefix, usually some verb which corresponds to some real life object (possibly Model) PostController is where all the requests for the path are being routed

31 RESTful Controllers II Public methods of RESTful Controller class correspond to request class PostController extends BaseController { public function getaction($action) { return $action; } public function getindex() { return 'index'; } } Method names correspond to requested path First part is HTTP request method (get, post) Second part (starting with capital letter) is path getaction($action) GET /post/action/$param

Laravel. View, Forms, Input, Validation, Authentication Layer. Web Technologies II. Darja Solodovnikova. Adopted from Artūrs Lavrenovs

Laravel. View, Forms, Input, Validation, Authentication Layer. Web Technologies II. Darja Solodovnikova. Adopted from Artūrs Lavrenovs Laravel View, Forms, Input, Validation, Authentication Layer Web Technologies II Darja Solodovnikova Adopted from Artūrs Lavrenovs View Visual representation of a model Job is simple - take variable and

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Laravel

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Laravel About the Tutorial Laravel is a powerful MVC PHP framework, designed for developers who need a simple and elegant toolkit to create full-featured web applications. Laravel was created by Taylor Otwell.

More information

Laravel and AngularJS

Laravel and AngularJS Laravel and AngularJS Learn how to build apps with AngularJS in the client and Laravel on server Daniel Schmitz and Daniel Pedrinha Georgii This book is for sale at http://leanpub.com/laravel-and-angularjs

More information

Strategies for Rapid Web Prototyping. Ruby on Rails. Clemens H. Cap

Strategies for Rapid Web Prototyping. Ruby on Rails. Clemens H. Cap Strategies for Rapid Web Prototyping Ruby on Rails Strategies for Rapid Web Prototyping DRY: Don't repeat yourself Convention over Configuration Separation of Concern Templating MVC: Model View Controler

More information

micro-framework Documentation

micro-framework Documentation micro-framework Documentation Release 2.0.2 phpmv Apr 03, 2018 Installation configuration 1 Ubiquity-devtools installation 1 2 Project creation 3 3 Project configuration 5 4 Devtools usage 9 5 URLs 11

More information

Lyna Framework Documentation

Lyna Framework Documentation Lyna Framework Documentation Release 0.1 Nicolas Bounoughaz June 12, 2015 Contents 1 Features 3 2 Contribute 5 3 Support 7 4 License 9 5 Get started 11 5.1 Installation................................................

More information

Let's Look Back. We talked about how to create a form in HTML. Forms are one way to interact with users

Let's Look Back. We talked about how to create a form in HTML. Forms are one way to interact with users Introduction to PHP Let's Look Back We talked about how to create a form in HTML Forms are one way to interact with users Users can enter information into forms which can be used by you (programmer) We

More information

How to Create a NetBeans PHP Project

How to Create a NetBeans PHP Project How to Create a NetBeans PHP Project 1. SET UP PERMISSIONS FOR YOUR PHP WEB SITE... 2 2. CREATE NEW PROJECT ("PHP APPLICATION FROM REMOTE SERVER")... 2 3. SPECIFY PROJECT NAME AND LOCATION... 2 4. SPECIFY

More information

Web Scripting using PHP

Web Scripting using PHP Web Scripting using PHP Server side scripting No Scripting example - how it works... User on a machine somewhere Server machine So what is a Server Side Scripting Language? Programming language code embedded

More information

The connection has timed out

The connection has timed out 1 of 7 2/17/2018, 7:46 AM Mukesh Chapagain Blog PHP Magento jquery SQL Wordpress Joomla Programming & Tutorial HOME ABOUT CONTACT ADVERTISE ARCHIVES CATEGORIES MAGENTO Home» PHP PHP: CRUD (Add, Edit, Delete,

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer ASP.NET WP

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer ASP.NET WP i About the Tutorial This tutorial will give you a fair idea on how to get started with ASP.NET Web pages. Microsoft ASP.NET Web Pages is a free Web development technology that is designed to deliver the

More information

SYMFONY2 WEB FRAMEWORK

SYMFONY2 WEB FRAMEWORK 1 5828 Foundations of Software Engineering Spring 2012 SYMFONY2 WEB FRAMEWORK By Mazin Hakeem Khaled Alanezi 2 Agenda Introduction What is a Framework? Why Use a Framework? What is Symfony2? Symfony2 from

More information

Zend Framework's MVC Components

Zend Framework's MVC Components Zend Framework's MVC Components Matthew Weier O'Phinney PHP Developer Zend Technologies Zend Framework provides rich and flexible MVC components built using the objectoriented features of PHP 5. Copyright

More information

PHP: Hypertext Preprocessor. A tutorial Introduction

PHP: Hypertext Preprocessor. A tutorial Introduction PHP: Hypertext Preprocessor A tutorial Introduction Introduction PHP is a server side scripting language Primarily used for generating dynamic web pages and providing rich web services PHP5 is also evolving

More information

BEGINNER PHP Table of Contents

BEGINNER PHP Table of Contents Table of Contents 4 5 6 7 8 9 0 Introduction Getting Setup Your first PHP webpage Working with text Talking to the user Comparison & If statements If & Else Cleaning up the game Remembering values Finishing

More information

WEBD 236 Lab 5. Problem

WEBD 236 Lab 5. Problem WEBD 236 Lab 5 If you use an external source (i.e. a web-page, the required textbook, or an additional book) to help you answer the questions, then be sure to cite that source. You should probably always

More information

Reminders. Full Django products are due next Thursday! CS370, Günay (Emory) Spring / 6

Reminders. Full Django products are due next Thursday! CS370, Günay (Emory) Spring / 6 Reminders Full Django products are due next Thursday! CS370, Günay (Emory) Spring 2015 1 / 6 Reminders Full Django products are due next Thursday! Let's start by quizzing you. CS370, Günay (Emory) Spring

More information

Etanova Enterprise Solutions

Etanova Enterprise Solutions Etanova Enterprise Solutions Server Side Development» 2018-06-28 http://www.etanova.com/technologies/server-side-development Contents.NET Framework... 6 C# and Visual Basic Programming... 6 ASP.NET 5.0...

More information

Introduction of Laravel and creating a customized framework out of its packages

Introduction of Laravel and creating a customized framework out of its packages Introduction of Laravel and creating a customized framework out of its packages s.farshad.k@gmail.co m Presents By : Sayed-Farshad Kazemi For : Software Free Day Fall 2016 @farshadfeli x @s.farshad.k @farshad92

More information

Lecture 4. Ruby on Rails 1 / 49

Lecture 4. Ruby on Rails 1 / 49 Lecture 4 Ruby on Rails 1 / 49 Client-Server Model 2 / 49 What is it? A client (e.g. web browser, phone, computer, etc.) sends a request to a server Request is an HTTP request Stands for HyperText Transfer

More information

Web Scripting using PHP

Web Scripting using PHP Web Scripting using PHP Server side scripting So what is a Server Side Scripting Language? Programming language code embedded into a web page PERL PHP PYTHON ASP Different ways of scripting the Web Programming

More information

PHP WITH ANGULAR CURRICULUM. What you will Be Able to Achieve During This Course

PHP WITH ANGULAR CURRICULUM. What you will Be Able to Achieve During This Course PHP WITH ANGULAR CURRICULUM What you will Be Able to Achieve During This Course This course will enable you to build real-world, dynamic web sites. If you've built websites using plain HTML, you realize

More information

What is XHTML? XHTML is the language used to create and organize a web page:

What is XHTML? XHTML is the language used to create and organize a web page: XHTML Basics What is XHTML? XHTML is the language used to create and organize a web page: XHTML is newer than, but built upon, the original HTML (HyperText Markup Language) platform. XHTML has stricter

More information

Unable To Access An Error Message Corresponding To Your Field Name. Codeigniter Callback

Unable To Access An Error Message Corresponding To Your Field Name. Codeigniter Callback Unable To Access An Error Message Corresponding To Your Field Name. Codeigniter Callback I get field was not set error when I'm validating a form. Here is my view Unable to access an error message corresponding

More information

CSCI 1320 Creating Modern Web Applications. Content Management Systems

CSCI 1320 Creating Modern Web Applications. Content Management Systems CSCI 1320 Creating Modern Web Applications Content Management Systems Brown CS Website 2 Static Brown CS Website Up since 1994 5.9 M files (inodes) 1.6 TB of filesystem space 3 Static HTML Generators Convert

More information

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted Announcements 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted 2. Campus is closed on Monday. 3. Install Komodo Edit on your computer this weekend.

More information

Web Site Design and Development. CS 0134 Fall 2018 Tues and Thurs 1:00 2:15PM

Web Site Design and Development. CS 0134 Fall 2018 Tues and Thurs 1:00 2:15PM Web Site Design and Development CS 0134 Fall 2018 Tues and Thurs 1:00 2:15PM By the end of this course you will be able to Design a static website from scratch Use HTML5 and CSS3 to build the site you

More information

Helpline No WhatsApp No.:

Helpline No WhatsApp No.: TRAINING BASKET QUALIFY FOR TOMORROW Helpline No. 9015887887 WhatsApp No.: 9899080002 Regd. Off. Plot No. A-40, Unit 301/302, Tower A, 3rd Floor I-Thum Tower Near Corenthum Tower, Sector-62, Noida - 201309

More information

PHP INTERVIEW QUESTION-ANSWERS

PHP INTERVIEW QUESTION-ANSWERS 1. What is PHP? PHP (recursive acronym for PHP: Hypertext Preprocessor) is the most widely used open source scripting language, majorly used for web-development and application development and can be embedded

More information

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted Announcements 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted 2. Install Komodo Edit on your computer right away. 3. Bring laptops to next class

More information

Model-View-Controller (MVC)

Model-View-Controller (MVC) Model-View-Controller (MVC) with Ruby on Rails Software Languages Team University of Koblenz-Landau Ralf Lämmel and Andrei Varanovich MVC - a classic definition The Model is the application object The

More information

CSCI-2320 Web Programming: Ruby on Rails

CSCI-2320 Web Programming: Ruby on Rails CSCI-2320 Web Programming: Ruby on Rails Mohammad T. Irfan Plan u Model-View-Controller (MVC) framework of web programming u Ruby on Rails 1 Ruby on Rails u Developed by David Hansson released 2004 u MVC

More information

Laravel 4 Cookbook. Christopher Pitt and Taylor Otwell. This book is for sale at

Laravel 4 Cookbook. Christopher Pitt and Taylor Otwell. This book is for sale at Laravel 4 Cookbook Christopher Pitt and Taylor Otwell This book is for sale at http://leanpubcom/laravel4cookbook This version was published on 014-07-04 This is a Leanpub book Leanpub empowers authors

More information

JavaScript for PHP Developers

JavaScript for PHP Developers JavaScript for PHP Developers Ed Finkler @funkatron coj@funkatron.com May 18, 2010 #tekx #js4php http://joind.in/1564 What is this? 2 A practical overview of JS for the PHP developer Stop c+p'ing, start

More information

Laravel: Code Happy. Application development with the Laravel PHP Framework for beginners Dayle Rees. This version was published on

Laravel: Code Happy. Application development with the Laravel PHP Framework for beginners Dayle Rees. This version was published on Laravel: Code Happy Application development with the Laravel PHP Framework for beginners. 01 Dayle Rees This version was published on 01-05-30 This is a Leanpub book, for sale at: http://leanpub.com/codehappy

More information

Practical Exercise: Smartcard-based authentication in HTTP

Practical Exercise: Smartcard-based authentication in HTTP MIECT: Security 2015-16 Practical Exercise: Smartcard-based authentication in HTTP November 24, 2015 Due date: no date Changelog v1.0 - Initial Version. 1 Introduction Smartcards can be used to authenticate

More information

Your First Ruby Script

Your First Ruby Script Learn Ruby in 50 pages Your First Ruby Script Step-By-Step Martin Miliauskas @mmiliauskas 1 Your First Ruby Script, Step-By-Step By Martin Miliauskas Published in 2013 by Martin Miliauskas On the web:

More information

Lab 4: Basic PHP Tutorial, Part 2

Lab 4: Basic PHP Tutorial, Part 2 Lab 4: Basic PHP Tutorial, Part 2 This lab activity provides a continued overview of the basic building blocks of the PHP server-side scripting language. Once again, your task is to thoroughly study the

More information

Front End Programming

Front End Programming Front End Programming Mendel Rosenblum Brief history of Web Applications Initially: static HTML files only. Common Gateway Interface (CGI) Certain URLs map to executable programs that generate web page

More information

Introduction to AngularJS

Introduction to AngularJS CHAPTER 1 Introduction to AngularJS Google s AngularJS is an all-inclusive JavaScript model-view-controller (MVC) framework that makes it very easy to quickly build applications that run well on any desktop

More information

WebDAV. Overview. File Permissions and Management. Authentication Methods

WebDAV. Overview. File Permissions and Management. Authentication Methods WebDAV Overview WebDAV integration provides access to the file system on the staging server similar to FTP/SFTP and can be used in lieu of FTP/SFTP. WebDAV (Web Distributed Authoring and Versioning) is

More information

Full Stack Web Developer

Full Stack Web Developer Full Stack Web Developer Course Contents: Introduction to Web Development HTML5 and CSS3 Introduction to HTML5 Why HTML5 Benefits Of HTML5 over HTML HTML 5 for Making Dynamic Page HTML5 for making Graphics

More information

PROBLEMS IN PRACTICE: THE WEB MICHAEL ROITZSCH

PROBLEMS IN PRACTICE: THE WEB MICHAEL ROITZSCH Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group PROBLEMS IN PRACTICE: THE WEB MICHAEL ROITZSCH THE WEB AS A DISTRIBUTED SYSTEM 2 WEB HACKING SESSION 3 3-TIER persistent

More information

Bringing Together One ASP.NET

Bringing Together One ASP.NET Bringing Together One ASP.NET Overview ASP.NET is a framework for building Web sites, apps and services using specialized technologies such as MVC, Web API and others. With the expansion ASP.NET has seen

More information

lectures/3/src/mvc/7/html/index.php <?php require_once('../includes/helpers.php');

lectures/3/src/mvc/7/html/index.php <?php require_once('../includes/helpers.php'); lectures/3/src/mvc/7/html/index.php 10. 1 1 1 1 1 1 1 1 1 20. 2 2 2 2 2 2 2 2 2 30. 3 3 3 3 3 3

More information

MVC: Model View Controller

MVC: Model View Controller MVC: Model View Controller Computer Science and Engineering College of Engineering The Ohio State University Lecture 26 Motivation Basic parts of any application: Data being manipulated A user-interface

More information

aint framework Documentation

aint framework Documentation aint framework Documentation Release 1.0prototype Alexander Steshenko Sep 27, 2017 Contents 1 Introduction 3 1.1 Overview................................................. 3 1.2 Installation................................................

More information

Introduction to Web Development

Introduction to Web Development Introduction to Web Development Lecture 1 CGS 3066 Fall 2016 September 8, 2016 Why learn Web Development? Why learn Web Development? Reach Today, we have around 12.5 billion web enabled devices. Visual

More information

Lecture 4. Ruby on Rails 1 / 52

Lecture 4. Ruby on Rails 1 / 52 Lecture 4 Ruby on Rails 1 / 52 Homeworks 2 & 3 Grades were released for homework 2 Homework 3 was due last night Everyone got a style freebie since my default setup ignores spec files and I didn't change

More information

PHP by Pearson Education, Inc. All Rights Reserved.

PHP by Pearson Education, Inc. All Rights Reserved. PHP 1992-2012 by Pearson Education, Inc. All Client-side Languages User-agent (web browser) requests a web page JavaScript is executed on PC http request Can affect the Browser and the page itself http

More information

Web Security: Vulnerabilities & Attacks

Web Security: Vulnerabilities & Attacks Computer Security Course. Song Dawn Web Security: Vulnerabilities & Attacks Cross-site Scripting What is Cross-site Scripting (XSS)? Vulnerability in web application that enables attackers to inject client-side

More information

Rails: MVC in action

Rails: MVC in action Ruby on Rails Basic Facts 1. Rails is a web application framework built upon, and written in, the Ruby programming language. 2. Open source 3. Easy to learn; difficult to master. 4. Fun (and a time-saver)!

More information

IBM Realtests LOT-911 Exam Questions & Answers

IBM Realtests LOT-911 Exam Questions & Answers IBM Realtests LOT-911 Exam Questions & Answers Number: LOT-911 Passing Score: 800 Time Limit: 120 min File Version: 35.4 http://www.gratisexam.com/ IBM LOT-911 Exam Questions & Answers Exam Name: IBM WebSphere

More information

Immersion Day. Getting Started with Amazon S3. January Rev

Immersion Day. Getting Started with Amazon S3. January Rev January 2016 Rev 2015-01-15 Table of Contents Overview... 3 Create a Bucket in S3... 4 Add an Object to a Bucket... 5 View an Object... 6 Move an Object... 7 Delete an Object and Bucket... 8 Conclusion...

More information

Web Architecture and Development

Web Architecture and Development Web Architecture and Development SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology HTTP is the protocol of the world-wide-web. The Hypertext

More information

WINTER. Web Development. Template. PHP Variables and Constants. Lecture

WINTER. Web Development. Template. PHP Variables and Constants. Lecture WINTER Template Web Development PHP Variables and Constants Lecture-3 Lecture Content What is Variable? Naming Convention & Scope PHP $ and $$ Variables PHP Constants Constant Definition Magic Constants

More information

PROBLEMS IN PRACTICE: THE WEB MICHAEL ROITZSCH

PROBLEMS IN PRACTICE: THE WEB MICHAEL ROITZSCH Department of Computer Science Institute of System Architecture, Operating Systems Group PROBLEMS IN PRACTICE: THE WEB MICHAEL ROITZSCH THE WEB AS A DISTRIBUTED SYSTEM 2 WEB HACKING SESSION 3 3-TIER persistent

More information

week8 Tommy MacWilliam week8 October 31, 2011

week8 Tommy MacWilliam week8 October 31, 2011 tmacwilliam@cs50.net October 31, 2011 Announcements pset5: returned final project pre-proposals due Monday 11/7 http://cs50.net/projects/project.pdf CS50 seminars: http://wiki.cs50.net/seminars Today common

More information

Bluehost and WordPress

Bluehost and WordPress Bluehost and WordPress Your Bluehost account allows you to install a self-hosted Wordpress installation. We will be doing this, and you will be customizing it for your final project. Using WordPress 1.

More information

Instructor s Notes Web Data Management The MVC Pattern. Web Data Management The MVC Pattern

Instructor s Notes Web Data Management The MVC Pattern. Web Data Management The MVC Pattern Web Data Management 152-155 The MVC Pattern Quick Links & Text References Overview Pages 160 161 Controller Pages 170 172 246 247 Including Files Pages Case Include Files Pages Model Pages 168 169 Views

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

Simple AngularJS thanks to Best Practices

Simple AngularJS thanks to Best Practices Simple AngularJS thanks to Best Practices Learn AngularJS the easy way Level 100-300 What s this session about? 1. AngularJS can be easy when you understand basic concepts and best practices 2. But it

More information

PHP and MySQL for Dynamic Web Sites. Intro Ed Crowley

PHP and MySQL for Dynamic Web Sites. Intro Ed Crowley PHP and MySQL for Dynamic Web Sites Intro Ed Crowley Class Preparation If you haven t already, download the sample scripts from: http://www.larryullman.com/books/phpand-mysql-for-dynamic-web-sitesvisual-quickpro-guide-4thedition/#downloads

More information

Module 3 Web Component

Module 3 Web Component Module 3 Component Model Objectives Describe the role of web components in a Java EE application Define the HTTP request-response model Compare Java servlets and JSP components Describe the basic session

More information

SmartList Senior Project Paper

SmartList Senior Project Paper Brandon Messineo Dr. Jackson SmartList Senior Project Paper We live in a world where technology is used frequently. We use technology to tell the time, predict the weather, write a paper, or communicate

More information

CS637 Midterm Review

CS637 Midterm Review CS637 Midterm Review Coverage: Duckett Chapter 1-2: Basics: Can skip pp. 53-56 Chapter 3: Lists: all important Chapter 4:Links: all important Chapter 5:Images: can skip old code Chapter 6: Tables: all

More information

Drupal Workshop, Part 5

Drupal Workshop, Part 5 30 April 2010 TECHNOLOGY TRAINING Drupal Workshop, Part 5 Menus, Blocks and Books T E C H B R I E F I N G Instructor s Name: Sharon L. Krossa Instructor s Email: skrossa@stanford.edu Instructor s URL:

More information

Web Architecture and Development

Web Architecture and Development Web Architecture and Development SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Here's the agenda for this lecture. 1. Fundamentals of

More information

Kendo UI. Builder by Progress : Using Kendo UI Designer

Kendo UI. Builder by Progress : Using Kendo UI Designer Kendo UI Builder by Progress : Using Kendo UI Designer Copyright 2017 Telerik AD. All rights reserved. December 2017 Last updated with new content: Version 2.1 Updated: 2017/12/22 3 Copyright 4 Contents

More information

LABORATORY 117. Intorduction to VoiceXML

LABORATORY 117. Intorduction to VoiceXML LABORATORY 117 Intorduction to VoiceXML 1 TAC2000/2000 Outline XML VoiceXML Building your VoiceXML application on TellMe Studio 2 TAC2000/2000 XML Extensible Markup Language The de facto standard for defining

More information

5/19/2015. Objectives. JavaScript, Sixth Edition. Introduction to the World Wide Web (cont d.) Introduction to the World Wide Web

5/19/2015. Objectives. JavaScript, Sixth Edition. Introduction to the World Wide Web (cont d.) Introduction to the World Wide Web Objectives JavaScript, Sixth Edition Chapter 1 Introduction to JavaScript When you complete this chapter, you will be able to: Explain the history of the World Wide Web Describe the difference between

More information

Secure Parameter Filter (SPF) (AKA Protecting Vulnerable Applications with IIS7) Justin Clarke, Andrew Carey Nairn

Secure Parameter Filter (SPF) (AKA Protecting Vulnerable Applications with IIS7) Justin Clarke, Andrew Carey Nairn Secure Parameter Filter (SPF) (AKA Protecting Vulnerable Applications with IIS7) Justin Clarke, Andrew Carey Nairn Our Observations The same old code-level problems Input Validation, Parameter Manipulation,

More information

PHP MVC Framework (CakePHP)

PHP MVC Framework (CakePHP) PHP MVC Framework (CakePHP) 안철수연구소최호진 2008-10-23 당신은누구십니까? Ruby On Rails 좀들어보신분 PHP 로잘개발해보실분 MVC 의중요성을아시는분 작은것파일럿으로해보신분 Why FRAMEWORK? 어느팀이나복잡해지면생기는것 MVC 개념은항상존재해왔다코딩스타일을일치개발절차까지정형화 Why CakePHP? PHP! Ruby

More information

Course Outline. ASP.NET MVC 5 Development Training Course ASPNETMVC5: 5 days Instructor Led. About this Course

Course Outline. ASP.NET MVC 5 Development Training Course ASPNETMVC5: 5 days Instructor Led. About this Course ASP.NET MVC 5 Development Training Course ASPNETMVC5: 5 days Instructor Led About this Course ASP.NET MVC 5 is Microsoft's last MVC release based on both the.net Framework or.net Core 1.0 for building

More information

A WEB BASED APPLICATION DESIGN FOR PRODUCT DATA ENGINEERING AND MANAGEMENT

A WEB BASED APPLICATION DESIGN FOR PRODUCT DATA ENGINEERING AND MANAGEMENT U.P.B. Sci. Bull., Series C, Vol. C, Iss. 4, 2018 ISSN 2286-3540 A WEB BASED APPLICATION DESIGN FOR PRODUCT DATA ENGINEERING AND MANAGEMENT Marian GHEORGHE 1, Aurel TARARA 2 The informational environment

More information

Introduction, Notepad++, File Structure, 9 Tags, Hyperlinks 1

Introduction, Notepad++, File Structure, 9 Tags, Hyperlinks 1 Introduction, Notepad++, File Structure, 9 Tags, Hyperlinks 1 Introduction to HTML HTML, which stands for Hypertext Markup Language, is the standard markup language used to create web pages. HTML consists

More information

Bernard. Release latest

Bernard. Release latest Bernard Release latest Jul 06, 2018 Contents 1 Installation 1 2 Examples 3 2.1 Producing messages........................................... 3 2.2 Queues..................................................

More information

Web Security: Vulnerabilities & Attacks

Web Security: Vulnerabilities & Attacks Computer Security Course. Web Security: Vulnerabilities & Attacks Type 2 Type 1 Type 0 Three Types of XSS Type 2: Persistent or Stored The attack vector is stored at the server Type 1: Reflected The attack

More information

M275 - Web Development using PHP and MySQL

M275 - Web Development using PHP and MySQL Arab Open University Faculty of computer Studies M275 - Web Development using PHP and MySQL Chapter 9 Working with Objects This is a supporting material to chapter 9. This summary will never substitute

More information

IXP Manager Workshop. Grapher - Anatomy of a Request. Barry O Donovan - INEX 28th Euro-IX Forum April 24th 2016 Luxembourg

IXP Manager Workshop. Grapher - Anatomy of a Request. Barry O Donovan - INEX 28th Euro-IX Forum April 24th 2016 Luxembourg IXP Manager Workshop 28th Euro-IX Forum April 24th 2016 Luxembourg Grapher - Anatomy of a Request Barry O Donovan - INEX barry.odonovan@inex.ie Prologue This slide deck was originally presented by Barry

More information

Database Systems Fundamentals

Database Systems Fundamentals Database Systems Fundamentals Using PHP Language Arman Malekzade Amirkabir University of Technology (Tehran Polytechnic) Notice: The class is held under the supervision of Dr.Shiri github.com/arman-malekzade

More information

Manual Html Image Src Url Path Not Working

Manual Html Image Src Url Path Not Working Manual Html Image Src Url Path Not Working _img src="file:///absolute/path/to/rails-app/public/image.png" alt="blah" /_. However i obviously want a relative path instead. Where is the relative path going.

More information

Index. Note: Boldface numbers indicate code and illustrations; an italic t indicates a table.

Index. Note: Boldface numbers indicate code and illustrations; an italic t indicates a table. Index Note: Boldface numbers indicate code and illustrations; an italic t indicates a table. A absolute positioning, in HTML, 184 187, 184 187 abstract classes, 6, 6 Accept header, 260 265, 261 265 access

More information

MVC :: Understanding Controllers, Controller Actions, and Action Results

MVC :: Understanding Controllers, Controller Actions, and Action Results MVC :: Understanding Controllers, Controller Actions, and Action Results This tutorial explores the topic of ASP.NET MVC controllers, controller actions, and action results. After you complete this tutorial,

More information

CSC 405 Computer Security. Web Security

CSC 405 Computer Security. Web Security CSC 405 Computer Security Web Security Alexandros Kapravelos akaprav@ncsu.edu (Derived from slides by Giovanni Vigna and Adam Doupe) 1 The XMLHttpRequest Object Microsoft developers working on Outlook

More information

WebSphere Portal Application Development Best Practices using Rational Application Developer IBM Corporation

WebSphere Portal Application Development Best Practices using Rational Application Developer IBM Corporation WebSphere Portal Application Development Best Practices using Rational Application Developer 2009 IBM Corporation Agenda 2 RAD Best Practices Deployment Best Practices WSRP Best Practices Portlet Coding

More information

PHP. Interactive Web Systems

PHP. Interactive Web Systems PHP Interactive Web Systems PHP PHP is an open-source server side scripting language. PHP stands for PHP: Hypertext Preprocessor One of the most popular server side languages Second most popular on GitHub

More information

Recite CMS Web Services PHP Client Guide. Recite CMS Web Services Client

Recite CMS Web Services PHP Client Guide. Recite CMS Web Services Client Recite CMS Web Services PHP Client Guide Recite CMS Web Services Client Recite CMS Web Services PHP Client Guide Copyright 2009 Recite Pty Ltd Table of Contents 1. Getting Started... 1 Adding the Bundled

More information

Rails 4 Quickly. Bala Paranj

Rails 4 Quickly. Bala Paranj Rails 4 Quickly Bala Paranj 1 About Author Bala Paranj has a Master s degree in Electrical Engineering from The Wichita State University. He has over 15 years of experience in the software industry. He

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

Security Guide. Configuration of Permissions

Security Guide. Configuration of Permissions Guide Configuration of Permissions 1 Content... 2 2 Concepts of the Report Permissions... 3 2.1 Security Mechanisms... 3 2.1.1 Report Locations... 3 2.1.2 Report Permissions... 3 2.2 System Requirements...

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

Programming in PHP Have you Cake? Presenter: Nguyen Thanh Hai Mar. 30 th, 2014

Programming in PHP Have you Cake? Presenter: Nguyen Thanh Hai Mar. 30 th, 2014 Programming in PHP Have you Cake? Presenter: Nguyen Thanh Hai Mar. 30 th, 2014 Agenda Introduction Components needed Model-View-Controller Cake convention Relationship between Models Validation of data

More information

1. Please, please, please look at the style sheets job aid that I sent to you some time ago in conjunction with this document.

1. Please, please, please look at the style sheets job aid that I sent to you some time ago in conjunction with this document. 1. Please, please, please look at the style sheets job aid that I sent to you some time ago in conjunction with this document. 2. W3Schools has a lovely html tutorial here (it s worth the time): http://www.w3schools.com/html/default.asp

More information

MISP core development crash course How I learned to stop worrying and love the PHP

MISP core development crash course How I learned to stop worrying and love the PHP MISP core development crash course How I learned to stop worrying and love the PHP Team CIRCL 1 of 17 MISP Training @ Helsinki 20180423 Some things to know in advance... MISP is based on PHP 5.6+ Using

More information

Introduction to HTML5

Introduction to HTML5 Introduction to HTML5 History of HTML 1991 HTML first published 1995 1997 1999 2000 HTML 2.0 HTML 3.2 HTML 4.01 XHTML 1.0 After HTML 4.01 was released, focus shifted to XHTML and its stricter standards.

More information

WebDAV Configuration

WebDAV Configuration Sitecore CMS 6.2 or later WebDAV Configuration Rev: 2013-10-03 Sitecore CMS 6.2 or later WebDAV Configuration WebDAV Implementation and Configuration for Sitecore Administrators and Developers Table of

More information

Building Websites with Zend Expressive 3

Building Websites with Zend Expressive 3 Building Websites with Zend Expressive 3 Rob Allen, Nineteen Feet February 2018 ~ @akrabat A microframework with full stack components µframework core Router Container Template renderer Error handler Configuration

More information

SortMyBooks API (Application programming

SortMyBooks API (Application programming SortMyBooks API (Application programming interface) Welcome to Sort My Books. This documentation will help you to get started with SortMyBooks API. General Considerations SortMyBooks works with objects

More information