Top  Branding  Banner 
blank.gif
blank.gif
triangle.gif Du er her: /  Forsiden  /  Kildekoden  /  Util  /  Server   Login nu   Login
blank.gif
««« Se kilde koden
blank.gif
tl.gif Base tr.gif tl.gif Basic tr.gif tl.gif Dto tr.gif tl.gif Form tr.gif tl.gif Language tr.gif tl.gif Layout tr.gif tl.gif Menu tr.gif tl.gif Mvc tr.gif tl.gif Netbank.eksperter.dk tr.gif tl.gif Tab tr.gif tl.gif Table tr.gif tls.gif     Util  trs.gif
blank.gif
blank.gif
arrow-headline.gif Index
MenuLink  MenuLeft  
Tilbage

Skjul: Navn

Server.php


Vis: Sample code, tutorial

Server, Sample code, tutorial

Sådan benyttes komponenten Server klassen

Først skal du inkludere den fil der beskriver komponenten, som en klasse fil

  • <?
    require_once(HTML_PACKAGE_PATH.'/Server.php');
    ?>

Dernæst kan du enten benytte komponenten som et taglib (statiske metoder):

  • <?
    Server
    ::display($param1$param2$param3, ...);
    ?>

eller du kan lave en instance af komponenten og benytte metoderne direkte:

  • <?
    $object 
    = new Server($param1$param2$param3, ...);
    print 
    $object->getHtml();
    ?>

Skjul: Sådan vises komponenten

Server, Sådan vises komponenten

Sådan vises komponenten Server klassen

www.myrer.info

Vis: PHP source code

Server, PHP source code

Den fulde PHP kildekode for Server klassen

<?php
/**
 * @package util
 * @see HTML_UTIL_COMPONENT_PATH.'/Server.php'
 * @copyright (c) http://Finn-Rasmussen.com
 * @license http://Finn-Rasmussen.com/license/ myPHP License conditions
 * @author http://Finn-Rasmussen.com
 * @version 1.11
 * @since 27-nov-2009
 */

/**
 * The required files
 */
require_once(HTML_BASE_COMMON_PATH.'/Object.php');
if (
defined('HTML_LOG_UTIL_PATH')) {
    require_once(
HTML_LOG_UTIL_PATH.'/Log.php');
}
if (
defined('HTML_BASIC_UTIL_PATH')) {
    require_once(
HTML_BASIC_UTIL_PATH.'/Message.php');
}

/**
 * The Server object.
 * Retrieves the Server information
 * <code>
 * Usage:
 *    $html = new Server();
 *    print $html->getHtml();
 * Or
 *    print Server::display();
 * Or
 *    print Server::get($key);
 * Or
 *   print Server::getAcceptLanguage();
 *   print Server::getDocumentRoot();
 *   print Server::getHttpHost();
 *   print Server::getOs();
 *   print Server::getPhpSelf();
 *   print Server::getQueryString();
 *   print Server::getReferer();
 *   print Server::getRemoteAddr();
 *   print Server::getRequestMethod();
 *   print Server::getRequestUri();
 *   print Server::getScriptName();
 *   print Server::getServerName();
 *   print Server::getServerPort();
 *   print Server::getUserAgent();
 * </code>
 * @package util 
 */

class Server extends Object {
    
/**
     * @var String $item The Item to request
     */
    
protected $item '';

    
/**
     * Constructor
     * @param String $item The Item to request
     */
    
function __construct($item='') {
        
parent::__construct();
        
$this->item $item;
    }

    
/**
     * Returns the server info as html
     * @return String The html
     */
    
function getHtml() {
        
$html '';
        if (
$this->item == '') {
            
$html .= '<table border="1" class="Border" cellpadding="1" cellspacing="0" width="100%">'."\r\n";
            foreach (
$_SERVER as $key=>$value) {
                
$html .= '<tr><td valign="top">'.$key.'</td><td valign="top">'.$value.'&nbsp;</td></tr>'."\r\n";
            }
            
$html .= "</table >\r\n";
        } else {
            
$html .= Server::get($this->item);
        }
        return 
$html;
    }

    
/**
     * Display html
     * <code>
     * Usage:
     *    Server::display($item);
     * </code>
     * @static
     * @param String $item The Item to request
     */
    
public static function display($item='') {
        
$html = new Server($item);
        
$html->addHtml();
    }

    
// ********** just helper functions ***********

    /**
     * The function verify that the get/post request uri is the same as the referer
     * when a get/post is requested where the command is a create, update or delete or remove CRUD
     * @static
     * @return boolean Return true, if the same referer is the same as the request uri, false othervise
     */
    
public static function isValidReferer() {
        
$isValid false;
        
/**
         * This is where the user came from
         * sample: http://finnrasmussen.dk/lej-en-konsulent/
         */
        
$referer Server::getReferer();
        
/**
         * The url now holds the calculated domain name, without the http://
         */
        
$url substr($refererstrlen("http:/"."/"));
        
/**
         * The domain now holds the calculated domain name
         */
        
$domain substr($url0strlen(DOMAIN_NAME));
        if (
$domain === DOMAIN_NAME) {
            
$isValid true;
        }
        if (
$isValid) {
            
// Do nothing
        
} else {
            
$msg "Hacker detected: referer=$referer domain=$domain url=$url";
            if (
defined('HTML_LOG_UTIL_PATH')) {
                
Log::error($msg__FILE____LINE__);
            } else {
                if (
defined('HTML_BASIC_UTIL_PATH')) {
                    
Message::add($msg__FILE____LINE__);
                } else {
                    die(
$msg);
                }
            }
        }
        return 
$isValid;
    }
    
    
/**
     * Get the value from the specified key
     * <code>
     * Usage:
     *    Server::get($key, $default);
     * </code>
     * @static
     * @param  String $key     The server param to get
     * @param  String $default The default value to use, if not found
     * @return String The value of the requested key
     */
    
public static function get($key$default='') {
        return empty(
$_SERVER[$key])?$default:$_SERVER[$key];
    }

    
/**
     * Get the remote addr
     * <code>
     * Usage:
     *    Server::getRemoteAddr();
     * I.e. $host = Server::getRemoteAddr();
     * </code>
     * @static
     * @param  String $default The default value to use, if not found
     * @return String The value of the requested key 
     */
    
public static function getAcceptLanguage($default='') {return Server::get('HTTP_ACCEPT_LANGUAGE'$default);}
    
//public static function getMimeType($default='')       {return Server::get('MIME_TYPE', $default);}
    
public static function getDocumentRoot($default='')   {return Server::get('DOCUMENT_ROOT'$default);} // Bugfix
    
public static function getHttpHost($default='')       {return Server::get('HTTP_HOST'$default);}
    
// Windows
    
public static function getOs($default='')             {return Server::get('OS'$default);}
    public static function 
getPhpSelf($default='')        {return Server::get('PHP_SELF'$default);}
    public static function 
getQueryString($default='')    {return Server::get('QUERY_STRING'$default);}
    public static function 
getReferer($default='')        {return Server::get('HTTP_REFERER'$default);}
    public static function 
getRemoteAddr($default='')     {return Server::get('REMOTE_ADDR'$default);}
    public static function 
getRequestMethod($default='')  {return Server::get('REQUEST_METHOD'$default);}
    public static function 
getRequestUri($default='')     {return Server::get('REQUEST_URI'$default);} // Bugfix
    
public static function getScriptName($default='')     {return Server::get('SCRIPT_NAME'$default);}
    
// Windows
    
public static function getServerName($default='')     {return Server::get('SERVER_NAME'$default);}
    public static function 
getServerPort($default='')     {return Server::get('SERVER_PORT'$default);}
    public static function 
getUserAgent($default='')      {return Server::get('HTTP_USER_AGENT'$default);}
}
?>

Vis: HTML source code

Server, HTML source code

Den fulde HTML kildekode for Server klassen

<?
www
.myrer.info
?>

Vis: Class methods

Server, Class methods

Her er 'klasse metoderne' for Server klassen:

  • __construct
  • getHtml
  • display
  • isValidReferer
  • get
  • getAcceptLanguage
  • getDocumentRoot
  • getHttpHost
  • getOs
  • getPhpSelf
  • getQueryString
  • getReferer
  • getRemoteAddr
  • getRequestMethod
  • getRequestUri
  • getScriptName
  • getServerName
  • getServerPort
  • getUserAgent
  • getClassName
  • getMsg
  • addHtml
  • __toString
  • getCacheFileName
  • save
  • content

Vis: Object vars

Server, Object vars

Her er 'objekt variable' for Server klassen:

  • html =>
  • sql =>

MenuRight 
triangle.gif

Dansk

Deutch

English (UK)

France

Italy

Norsk

Svensk

English (USA)


 
blank.gif
MenuBottom 
triangle.gif Copyright @ 1999-2010 www.Finn-Rasmussen.com Powered by myPHP Version (5.3.3-7+squeeze9) 1.11
blank.gif