PHP - Snippets: Unterschied zwischen den Versionen
Aus Wikizone
| 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);
}