PHP - Snippets: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
Zeile 14: Zeile 14:
 
$_CLEAN['GET'] = clean($_GET);  
 
$_CLEAN['GET'] = clean($_GET);  
 
$_CLEAN['POST'] = clean($_POST);
 
$_CLEAN['POST'] = clean($_POST);
 +
</pre>
 +
 +
== IP Adresse Abfragen ==
 +
<pre>
 +
public static function get_ip() {
 +
$REMOTE_ADDR = $_SERVER['REMOTE_ADDR'];
 +
if ( ! empty( $_SERVER['X_FORWARDED_FOR'] ) ) {
 +
$X_FORWARDED_FOR = explode(',', $_SERVER['X_FORWARDED_FOR'] );
 +
if ( ! empty( $X_FORWARDED_FOR ) ) {
 +
$REMOTE_ADDR = trim( $X_FORWARDED_FOR[0] );
 +
}
 +
}
 +
elseif ( ! empty($_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
 +
$HTTP_X_FORWARDED_FOR= explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
 +
if ( ! empty($HTTP_X_FORWARDED_FOR ) ) {
 +
$REMOTE_ADDR = trim($HTTP_X_FORWARDED_FOR[0]);
 +
}
 +
}
 +
return preg_replace('/[^0-9a-f:\., ]/si', '', $REMOTE_ADDR);
 +
}
 +
 
</pre>
 
</pre>

Version vom 25. September 2013, 08:42 Uhr

Clean up POST und GET

Zusätzliche Sicherheit für Post und Get.

function clean($elem) {
	/* used to add some security to get and post vars */
	if(!is_array($elem)) 
		$elem = htmlentities($elem,ENT_QUOTES,"UTF-8"); 
    	else 
		foreach ($elem as $key => $value) 
			$elem[$key] = $this->clean($value); 
    	return $elem; 
} 

$_CLEAN['GET'] = clean($_GET); 
$_CLEAN['POST'] = clean($_POST);

IP Adresse Abfragen

		public static function get_ip() {
			$REMOTE_ADDR = $_SERVER['REMOTE_ADDR'];
			if ( ! empty( $_SERVER['X_FORWARDED_FOR'] ) ) {
				$X_FORWARDED_FOR = explode(',', $_SERVER['X_FORWARDED_FOR'] );
				if ( ! empty( $X_FORWARDED_FOR ) ) {
					$REMOTE_ADDR = trim( $X_FORWARDED_FOR[0] );
				}
			}
			elseif ( ! empty($_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
				$HTTP_X_FORWARDED_FOR= explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
				if ( ! empty($HTTP_X_FORWARDED_FOR ) ) {
					$REMOTE_ADDR = trim($HTTP_X_FORWARDED_FOR[0]);
				}
			}
			return preg_replace('/[^0-9a-f:\., ]/si', '', $REMOTE_ADDR);
		}