Home Accessibility Courses Diary The Mouth Facebook Resources Site Map About Us Contact
Dynamically watching your web site via a PHP wrapper

On our web site, we "wrap" all of our pages in a PHP shell, which allows us to reference extra information easily within any of our pages, provide up to date course and hotel data on every page, and keep a dynamic log of current visitors in a database. The wrapper is applied through Apache http server (mod_rewrite), passing in the name of the page that's been called as a parameter to the wrapper script. Here are the "key" lines from various files:

From our web server configuration:

RewriteRule ^(.*)\.htm wrap.php?page=$1&%{QUERY_STRING}

From the wrapper URL page:

include ("$_SERVER[DOCUMENT_ROOT]/../afdr/wrapname.php");

And from the page that's included to run the real page:

$status = eval (" ?>$inclusion<?php ");

Once those preliminaries have been set up, we can start using our extra level of control - we open our database connection and log the access, for example:

$logit = "INSERT INTO recent (tstamp, remoteaddr,
calledfor, prevpage, serverhost, uagent) values (".
  $nowsec . ", ".
  "\"$rip\", ".
  "\"$wanted\", ".
  "\"$whence\", ".
  "\"$server\", ".
  "\"$ua\") ";
@mysql_query($logit);


and a further query on the same table causes each newly logged record to (additionally) delete any records over 15 minutes old.

What do we do with that extra data? We have a page which we describes as our "Traffic Watch" - see [here] - which gives us a snapshot of how the server is running (when staff are logged in, they are give far more data!), for example. And we can (and do) also use the script to watch for high traffic levels from an individual IP address.

On yesterday's PHP course, I wrote an example showing how PHP makes use of MySQL tables, using this data. See [source] and [run it]. This page lets me see which pages have been called up recently, with the most popular ones first - a very useful monitoring tool for administrators and for the SEO (Search Engine Optimisation) team.

Although I wrote the new example on the PHP programming course, the more advanced setup of the table - with mod_rewrite, etc, is beyond those few days, and it's something that we cover on our PHP Techniques Workshop. Web server setup (if you're going to be an administrator) is covered on Linux Web Server or if you need to learn a bit of Linux too, on Deploying LAMP.



P.S. You'll see from the source code that I've eliminated certain URL patterns from the live demonstration. These days, I'm afraid, there are a number of automated scripts that attack web sites - either to spread viral infection, or to inject their content via security holes into your site. Such accesses just "bounce" off our server, but they are logged; I have eliminated them from the report in the sample program to starve them of the oxygen or publicity.
(written 2010-05-21)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
A607 - Web Application Deployment - Apache httpd mod_rewrite
  [3862] Forwarding a whole domain, except for a few directories - Apache http server - (2012-09-17)
  [3753] Adding a passcode to a directory - (2012-06-05)
  [3568] Telling which ServerAlias your visitor used - useful during merging domains - (2012-01-04)
  [3339] Simplest ever proxy configuration? - (2011-06-28)
  [3197] Finding and diverting image requests from rogue domains - (2011-03-08)
  [2981] How to set up short and meaningfull alternative URLs - (2010-10-02)
  [2900] Redirecting a page - silent, temporary or permanent? - (2010-08-03)
  [2768] Carrying a long URL around - looking for memorable shorts - (2010-05-17)
  [2728] Redirecting a home page using mod_rewrite - (2010-04-17)
  [2555] Bookkeeping - (2009-12-29)
  [2094] If you have a spelling mistake in your URL / page name - (2009-03-21)
  [1954] mod_rewrite for newcomers - (2008-12-20)
  [1778] Pointing all the web pages in a directory at a database - (2008-08-30)
  [1771] More HowTo diagrams - MySQL, Tomcat and Java - (2008-08-24)
  [1731] Apache httpd, MySQL, PHP - installation procedure - (2008-08-01)
  [1636] What to do if the Home Page is missing - (2008-05-08)
  [1381] Using a MySQL database to control mod_rewrite via PHP - (2007-10-06)
  [1376] Choosing between mod_proxy and mod_rewrite - (2007-10-02)
  [1207] Simple but effective use of mod_rewrite (Apache httpd) - (2007-05-27)
  [1009] Passing GET parameters through Apache mod_rewrite - (2006-12-27)
  [1006] Apache httpd and Apache Tomcat together tips - (2006-12-24)
  [934] Clustering, load balancing, mod_rewrite and mod_proxy - (2006-11-21)
  [755] Using different URLs to navigate around a single script - (2006-06-11)
  [631] Apache httpd to Tomcat - jk v proxy - (2006-03-03)

H305 - PHP - Web server configuration
  [3143] On time - (2011-01-23)
  [2774] PHP - Object Oriented Design in use - (2010-05-21)
  [2478] How did I do THAT? - (2009-10-26)
  [1938] Predictive Load Balancing - PHP and / or Java - (2008-12-13)


Back to
Graham Ellis - Summary of Training Record
Previous and next
or
Horse's mouth home
Forward to
PHP - Object Oriented Design in use
Some other Articles
Blowing our own trumpet
Regional Spatial Strategy and the next 20 years - Whence Wiltshire under the new government?
Declarations of interest - knowing where you stand with people
Dynamically watching your web site via a PHP wrapper
Graham Ellis - Summary of Training Record
Melksham to Calne by public transport
Melksham Chamber of Commerce - Presidents report to AGM
Easy - but for whom?
4252 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2014: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/2773_Dyn ... apper.html • PAGE BUILT: Sun Mar 30 15:20:58 2014 • BUILD SYSTEM: WomanWithCat