Discuz   发布时间:2022-05-06  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了UCHome中关于公共函数(function_common.php)页面的代码分析(一)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

view sourceprint?01.<?php02./*03.    [UCenter Home] (C) 2007-2008 Comsenz Inc.04.    $Id: function_common.php 2009-10-20 21:12:0005.    @author ymaozi06.    @copyright http://www.codedesign.cn/07.    @uchome源码交流QQ群:8340026308.*/09.  10.if(!defined('IN_UCHOME')) {11.    exit('Access Denied');12.}13./**14. * SQL ADDSLASHES 对sql的一些字符进行转义15. * @param String or array $String16. * @return String or array17. */18.function saddslashes($String) {19.    if(is_array($String)) { //如果转入的是数组则对数组中的value进行递归转义20.        foreach($String as $key => $val) {21.            $String[$key] = saddslashes($val);22.        }23.    } else {24.        $String = addslashes($String); //对单引号(')、双引号(")、反斜线()与 NUL(NULL 字符),进行转义25.    }26.    return $String;27.}28.  29./**30. * 取消HTML代码31. * @param String or array $String32. * @return String or array33. */34.function shtmlspecialchars($String) {35.    if(is_array($String)) {36.        foreach($String as $key => $val) {37.            $String[$key] = shtmlspecialchars($val);38.        }39.    } else {40.        $String = preg_replace('/&((#(d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/', '&\1',41.            str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $String));//将传入的html中的&,",<,>,进行替换42.    }43.    return $String;44.}view sourceprint?001./**002. * 清空cookie与一些判断用户登录的信息003. */004.function clearcookie() {005.    global $_SGLOBAL;006.  007.    obclean(); //清除缓存008.    ssetcookie('auth', '', -86400 * 365); //设置cookie名为auth的过期009.    $_SGLOBAL['supe_uid'] = 0;010.    $_SGLOBAL['supe_username'] = '';011.    $_SGLOBAL['member'] = array(); //将这些全局变量清空012.}013.  014.//cookie设置015./**016. * 设置cookie017. * @param   String  cookie名018. * @param   String  cookie值019. * @param   int     cookie存储时间020. * @return void021. */022.function ssetcookie($var, $value, $life=0) {023.    global $_SGLOBAL, $_SC, $_SERVER;024.    setcookie($_SC['cookiepre'].$var, $value, $life?($_SGLOBAL['timestamp']+$lifE):0, $_SC['cookiepath'], $_SC['cookiedomain'], $_SERVER['SERVER_PORT']==443?1:0);025.}026.  027.//028./**029. * 创建数据库连接对象030. */031.function dbconnect() {032.    global $_SGLOBAL, $_Sc;033.  034.    include_once(S_ROOT.'./source/class_mysql.php'); //引入数据库操作类035.  036.    if(empty($_SGLOBAL['db'])) { //如果没有创建数据库对象,则创建037.        $_SGLOBAL['db'] = new dbstuff;038.        $_SGLOBAL['db']->charset = $_SC['dbcharset'];039.        $_SGLOBAL['db']->connect($_SC['dbhost'], $_SC['dbuser'], $_SC['dbpw'], $_SC['dbname'], $_SC['pconnect']);040.    }041.}042.  043.//获取在线IP044.function getonlineip($format=0) {045.    global $_SGLOBAL;046.  047.    if(empty($_SGLOBAL['onlineip'])) {048.        if(getenv('http_CLIENT_IP') && strcasecmp(getenv('http_CLIENT_IP'), 'unknown')) {049.            //如果存在客户端ip,并通过strcasecmp(),比较不等于unknown,则获取客户端ip050.                        $onlineip = getenv('http_CLIENT_IP');051.        } elseif(getenv('http_X_FORWARDED_FOR') && strcasecmp(getenv('http_X_FORWARDED_FOR'), 'unknown')) {052.            //如果存在代理ip,则获取代理ip053.                        $onlineip = getenv('http_X_FORWARDED_FOR');054.        } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {055.            //代理服务器 IP056.                        $onlineip = getenv('REMOTE_ADDR');057.        } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {058.            $onlineip = $_SERVER['REMOTE_ADDR'];059.        }060.        preg_match("/[d.]{7,15}/", $onlineip, $onlineipmatches);061.                //通过正则检验,是否是ip地址的格式062.        $_SGLOBAL['onlineip'] = $onlineipmatches[0] ? $onlineipmatches[0] : 'unknown';063.    }064.    if($format) {065.        $ips = explode('.', $_SGLOBAL['onlineip']); //将ip地址,以.为分隔存入到数组066.        for($i=0;$i<3;$i++) {067.            $ips[$i] = intval($ips[$i]);068.        }069.        return sprintf('%03d%03d%13d', $ips[0], $ips[1], $ips[2]);//返回ip地十的前三段,03d:三位整数,如果不足刚以0填充070.    } else {071.        return $_SGLOBAL['onlineip'];072.    }073.}074.  075.//076./**077. * 判断当前用户登录状态078. */079.function checkauth() {080.    global $_SGLOBAL, $_SC, $_SCONFIG, $_SCOOKIE, $_SN;081.  082.    if($_SGLOBAL['mobile'] && $_GET['m_auth']) $_SCOOKIE['auth'] = $_GET['m_auth'];083.    if($_SCOOKIE['auth']) { //如果设置了名了auth的cookie084.        @list($password, $uid) = explode("t", authcode($_SCOOKIE['auth'], 'DECODE')); //通过authcode()函数将加密过的auth进行解密,将解密的信息分别存在$password与$uid中085.        $_SGLOBAL['supe

<div class="SyntaxHighlighter " id="Highlighter_359317">
<div class="bar">
<div class="toolbar">
<a class="item viewsource" title="view source" style="width: 16px; height: 16px" href="http://www.codedesign.cn/?p=100#viewSource" target="_blank" highlighterid="highlighter_359317" commandname="viewsource">view source<a class="item printsource" title="print" style="width: 16px; height: 16px" href="http://www.codedesign.cn/?p=100#printSource" target="_blank" highlighterid="highlighter_359317" commandname="printsource">print<a class="item about" title="?" style="width: 16px; height: 16px" href="http://www.codedesign.cn/?p=100#about" target="_blank" highlighterid="highlighter_359317" commandname="about">?

大佬总结

以上是大佬教程为你收集整理的UCHome中关于公共函数(function_common.php)页面的代码分析(一)全部内容,希望文章能够帮你解决UCHome中关于公共函数(function_common.php)页面的代码分析(一)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: