Instructions: Attempt all sections. You have 1 hour to complete the test.
Keep your answers short and to the point, length is relevent to the marks allocated for that question. Any unneccarily pedantic answers result in 0 marks for that section. You’ve been warned. There are no trick questions.
[ a.k.a. Web Design ] Answer all questions.
- List 3 good points, and 3 bad points about both IE (4 or later) and Netscape (4 or later). (3 marks)
- What are META tags? Why would you use them? Why are they called META tags? (2 marks)
- List the main differences between .jpg and .gif files, and include an example of when you would use them. (3 marks)
- Explain what relative and absolute URLs are. Give reasons for using either. (3 marks)
- Name the things you should do to ensure that you aren’t completely alienating people with text based browsers, or people with hearing or sight impairments. (4 marks)
[ a.k.a. Expand the acronyms ] Do them all. (1 mark each)
[ a.k.a. Web Serving ] Answer all questions.
- What is the default port that a normal (non ssl, non proxied) webserver listens on? (1 mark)
- What port does HTTPS normally run on? (1 mark)
- Name 3 products provided by the apache project. (2 marks)
- What are MIME types? Why do we need them? (2 marks)
- There is a major security issue with the currently available php module. What is it, and how does redbrick get around it? (3 marks)
- Name 1 major difference between HTTP version 1.0 and version 1.1. (2 marks)
- Why would you use mod_perl? (2 marks)
- What does OPTIONS IncludesNOEXEC do? (2 marks)
[ a.k.a. Web Programming ] Answer all questions.
- Describe briefly what a CGI script is. (2 marks)
- List 5 things that would stop a CGI script from working (when you access it from the web). (3 marks)
- Name three of the conditions that suexec checks before running a cgi program. (3 marks)
- Write a small program in either c, perl or php which will display the results from SELECT * FROM Moo, considering Moo is designed as follows. Column Name: ID FirstName Surname Age Type: int(10) primary key auto_increment varchar(50) varchar(50) int(3) Display the results in HTML, using a table. (10 marks)
- What are RFCs? Why are they so important? (2 marks)
[ a.k.a. Unix/Root Competency ]Answer all questions.
- List the command(s) to extract a file called moo.tar.gz. (1 marks)
- What is a daemon? (2 marks)
- What is meant by the `privileged port range’ on a unix system? (2 marks)
- What is inetd? Why would you use it instead of the rc.d / rc.local methods? What method do we currently use for apache on redbrick? (3 marks)
- Briefly describe the importance of DNS. (2 marks)
- What is a setuid program, and give and explain an example (preferably apache related) of it’s use. (3 marks)
- Considering I was to give you the root password for enigma right now. What barrier stops you from logging in, and list two ways of getting round it. (2 marks)
[ a.k.a. Your Choice ] Answer a or b
A) Give instructions on how someone who had a fresh install of a unix, say, linux, would install apache with basic php (as a module, or as a cgi) enabled. You can’t use the ports or apt-get systems, (ie, you must use source). (20 marks)
B) What are the advantages in having a “chrooted” server? Mention the security features of such a setup, and why aren’t all webservers chrooted? (20 marks) [ let’s hope you looked at last years paper :P~ ]
[ a.k.a. Let’s see how observant you are ] Answer them all.
- What is the version of apache currently running on RB?
- Same question, only for php.
- Same question, only for jserv.
- What is the current, stable release version number of apache?
- Where is the apache root on redbrick?