本文整理汇总了PHP中getRemoteIP函数的典型用法代码示例。如果您正苦于以下问题:PHP getRemoteIP函数的具体用法?PHP getRemoteIP怎么用?PHP getRemoteIP使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了getRemoteIP函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: saveLog
public function saveLog($xml)
{
// !!!
// @todo Вот не знаю стоит ли тут делать так, или все же легче вызвать self::initReqXml(); но там у нас сессия инициализируется
$this->_clientXml = new DOMDocument();
libxml_use_internal_errors(true);
if (!$this->_clientXml->loadXML($xml)) {
$this->_debug = 1;
$xe_levels = array(LIBXML_ERR_WARNING => 'WARNING', LIBXML_ERR_ERROR => 'ERROR', LIBXML_ERR_FATAL => 'FATAL');
foreach (libxml_get_errors() as $xe) {
$err .= $xe_levels[$xe->level] . ": (line: {$xe->line}, column: {$xe->column}): {$xe->message}";
}
libxml_clear_errors();
$this->error(EXTERNAL_ERR_WRONG_REQ, $err);
}
$ns_name = basename($this->_clientXml->documentElement->getAttribute('xmlns:f'));
if ($ns_name == '') {
$ns_name = basename($this->_clientXml->documentElement->getAttribute('xmlns:hh'));
} else {
$ns_name = 'freetray';
}
if ($ns_name == '') {
$ns_name = 'other';
}
$log = new log("external/{$ns_name}-%d%m%Y.log");
$log->writeln('--------------' . getRemoteIP() . '--------------');
$log->writeln($xml);
}
示例2: Create
/**
* Создать анонима
*
* @param char $error
* @return integer идентификатор анонима
*/
function Create(&$error)
{
global $DB;
$id = 0;
if (!$error) {
$data = array('icq' => $this->icq, 'mail' => $this->mail, 'phone' => $this->phone, 'ip' => getRemoteIP());
$DB->insert('anonymous', $data);
$id = $DB->val("SELECT currval('anonymous_id_seq');");
$error = $DB->error;
}
return $id;
}
示例3: _request
public function _request($url, $xml, $scope = '')
{
if (!$this->_log) {
$this->_log = new log('wm_payments/wm_payments-%d%m%Y.log');
}
$this->_log->linePrefix = '%d.%m.%Y %H:%M:%S : ' . getRemoteIP() . " : {$scope} : ";
$res = parent::_request($url, $xml, $scope);
$this->_log->writeln('REQUEST:');
$this->_log->writeln($res->GetRequest());
$this->_log->writeln('RESPONSE:');
$this->_log->writeln($res->GetResponse());
return $res;
}
示例4: EditOpinion
function EditOpinion($op_id, $message, $rating, $counter, $from = 'frl')
{
@session_start();
$objResponse = new xajaxResponse();
$message = trim($message);
if (!in_array($rating, array(-1, 0, 1))) {
$objResponse->assign('rating_error', 'innerHTML', 'Вы не выбрали категорию отзыва');
} elseif ($message == '') {
$objResponse->script("opinionFormError('error_edit_msg_{$op_id}');");
} elseif (strlen($message) > opinions::$opinion_max_length) {
$objResponse->script("opinionMaxLengthError('edit_msg_{$op_id}', " . opinions::$opinion_max_length . ');');
} else {
$message = str_replace('&', '&', $message);
$message = stripslashes($message);
$message = change_q_x($message, FALSE, TRUE, '', false, false);
$msg = opinions::GetMessageById($op_id);
$old_rating = $msg['rating'];
if (get_uid(0) == $msg['fromuser_id'] || hasPermissions('users')) {
$error = opinions::Edit($msg['fromuser_id'], $op_id, $message, $rating, getRemoteIP(), hasPermissions('users'), get_uid(0));
} else {
$error = 'Ошибка';
}
if (!$error) {
$msg = opinions::GetMessageById($op_id);
if ($msg) {
$user = new users();
$user->GetUserByUID($_SESSION['page_user_id']);
$objResponse->assign('opid_' . $op_id, 'innerHTML', opinions::printTheme($msg, $from, $counter, false));
$ot = $old_rating == 1 ? 'plus' : ($old_rating == -1 ? 'minus' : 'neitral');
$nt = $rating == 1 ? 'plus' : ($rating == -1 ? 'minus' : 'neitral');
$objResponse->call('opinionChConuters', 'ops-' . $from . $ot, 'ops-' . $from . $nt);
$block_class = 'ops-one-' . $nt;
$objResponse->script("\$('opid_{$op_id}').removeClass('ops-one-plus').removeClass('ops-one-neitral').removeClass('ops-one-minus');");
$objResponse->script("\$('opid_{$op_id}').addClass('{$block_class}')");
$objResponse->script("opinionCheckMaxLengthStop('edit_msg_{$op_id}');");
} else {
$objResponse->script("alert('" . serialize($msg) . "')");
}
} else {
$objResponse->script("alert('" . $error . "')");
}
}
return $objResponse;
}
示例5: processForm
function processForm($aFormValues)
{
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/smail.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/blogs.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
global $session;
session_start();
get_uid(false);
$objResponse = new xajaxResponse();
//$pname = change_q($_POST['name'], true);
$msg = change_q($aFormValues['calltext'], false, 0);
//$mail = trim($_POST['mail']);
//$attach = $_FILES['attach'];
$login = $_SESSION['login'] ? $_SESSION['login'] : 'Anonymous';
$tn = 0;
$f_name = '';
$uid = get_uid(false);
$usr = new users($uid);
$pname = $_SESSION['name'] . ' ' . $_SESSION['surname'];
$mail = $usr->GetField($uid, $error, 'email');
if (!$msg) {
$alert['msg'] = 'Поле заполнено некорректно';
$error_flag = 1;
}
if (!$error_flag) {
$error .= blogs::NewThread($uid, 3, 0, $name, $msg, $f_name, getRemoteIP(), 1, $tn);
}
if (!$error && !$error_flag) {
$sm = new smail();
$error .= $sm->NewFeedbackPost($pname, $msg, $mail, $_SESSION['login'], 4);
$msg = $name = $mail = '';
$info_msg = '<br><center><table class="view_info" border="0" cellpadding="2" cellspacing="0"><tbody><tr class="n_qpr"><td height="20"><img src="/images/ico_ok.gif" alt="" border="0" height="18" width="19"></td><td nowrap>Ваше сообщение отправлено</td></tr></tbody></table>';
$objResponse->assign('calltext', 'value', '');
$objResponse->assign('cbok', 'innerHTML', $info_msg);
//$objResponse->assign("submitButton","disabled",false);
$objResponse->assign('submitButton', 'value', 'Отправить');
}
return $objResponse;
}
示例6: checkUtm
/**
* Проверяем фиксируем UTM метки.
*
* @return bool
*/
public function checkUtm()
{
$sess_id = session_id();
//После авторизации обновляем UID пользователя
if (!isset($_SESSION['ga_stat_updated']) && isset($_SESSION['uid']) && $_SESSION['uid'] > 0) {
$this->db()->update(self::TABLE, array('user_id' => $_SESSION['uid']), 'user_id IS NULL AND sess_id = ?', $sess_id);
$_SESSION['ga_stat_updated'] = true;
}
if (!isset($_GET['utm_source'], $_GET['utm_medium'], $_GET['utm_campaign'])) {
return false;
}
$utm_source = __paramInit('string', 'utm_source', null, null, 150);
$utm_medium = __paramInit('string', 'utm_medium', null, null, 150);
$utm_campaign = __paramInit('string', 'utm_campaign', null, null, 150);
if (empty($utm_source) && empty($utm_medium) && empty($utm_campaign)) {
return false;
}
//Хеш на ссылку живет 30 минут в течении жизни сессии
$hash = md5($_SERVER['REQUEST_URI'] . date('d.m.Y H') . (date('i') > 30));
//Не фиксируем метки на одинаковые страницы и исключаем накрутку
if (isset($_SESSION['ga_stat_url_hash'][$hash])) {
return false;
}
$_SESSION['ga_stat_url_hash'][$hash] = true;
//Храним максимум до 100 разных хеш-ссылок в сессии и старые выбрасываем
if (count($_SESSION['ga_stat_url_hash']) > 100) {
$_SESSION['ga_stat_url_hash'] = array_slice($_SESSION['ga_stat_url_hash'], -100);
}
//Фиксируем метку
$data = array('utm_source' => $utm_source, 'utm_medium' => $utm_medium, 'utm_campaign' => $utm_campaign, 'ip' => getRemoteIP(), 'url' => parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), 'sess_id' => $sess_id);
if (isset($_SESSION['uid']) && $_SESSION['uid'] > 0) {
$data['user_id'] = $_SESSION['uid'];
}
$ret = $this->db()->insert(self::TABLE, $data);
return $ret;
}
示例7: checkLogin
function checkLogin($mode = 'REDIRECT')
{
$sql = "UPDATE " . DB_PREPEND . "phpwcms_userlog SET logged_in=0, logged_change='" . time() . "' ";
$sql .= "WHERE logged_in=1 AND (" . time() . "-logged_change) > " . intval($GLOBALS['phpwcms']["max_time"]);
_dbQuery($sql, 'UPDATE');
checkLoginCount();
if (empty($_SESSION["wcs_user"])) {
@session_destroy();
$ref_url = '';
if (!empty($_SERVER['QUERY_STRING'])) {
$ref_url = '?ref=' . rawurlencode(PHPWCMS_URL . 'phpwcms.php?' . xss_clean($_SERVER['QUERY_STRING']));
}
if ($mode == 'REDIRECT') {
// check again if user was logged in and this is a valid redirect request
$sql = 'SELECT COUNT(*) FROM ' . DB_PREPEND . 'phpwcms_userlog WHERE ';
$sql .= "logged_ip=" . _dbEscape(getRemoteIP()) . " AND ";
$sql .= '( ' . time() . ' - logged_change ) < 3600';
$ref_url = _dbCount($sql) > 0 ? get_login_file() . $ref_url : '';
headerRedirect(PHPWCMS_URL . $ref_url);
} else {
return false;
}
}
return true;
}
示例8: checkGrayIp
/**
* Серый список IP
*
* @param users $user
*/
function checkGrayIp($user)
{
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/gray_ip.php';
$aGrayList = gray_ip::getGrayListByRegIp(getRemoteIP());
if ($aGrayList) {
// есть записи в списке первичных IP
gray_ip::addSecondaryIp($user->uid, $user->login, $user->role, $aGrayList);
}
}
示例9: foreach
foreach ($cnt_form["target"] as $value) {
if (strtolower($cnt_form['fromEmail']) == strtolower($value)) {
$POST_ERR[] = '@@Sender’s email must be different from recipient’s email@@';
break;
}
}
}
}
// do $POST_ERR test again to handle possible duplicates
// in case 'checktofrom' = 1
if (!empty($POST_DO) && empty($POST_ERR)) {
// check if there are form values which should be saved in db
if (count($POST_savedb)) {
$POST_savedb_sql = 'INSERT INTO ' . DB_PREPEND . 'phpwcms_formresult ';
$POST_savedb_sql .= '(formresult_pid, formresult_ip, formresult_content) VALUES (';
$POST_savedb_sql .= $crow['acontent_id'] . ", " . _dbEscape(getRemoteIP()) . ", ";
$POST_savedb_sql .= _dbEscape(serialize($POST_savedb)) . ")";
$POST_savedb_sql = _dbQuery($POST_savedb_sql, 'INSERT');
}
// send mail, include phpmailer class
require_once PHPWCMS_ROOT . '/include/inc_ext/phpmailer/PHPMailerAutoload.php';
// now run all CC -> but sent as full email to each CC recipient
if (count($cnt_form['cc'])) {
$mail = new PHPMailer();
$mail->Mailer = $phpwcms['SMTP_MAILER'];
$mail->Host = $phpwcms['SMTP_HOST'];
$mail->Port = $phpwcms['SMTP_PORT'];
if ($phpwcms['SMTP_AUTH']) {
$mail->SMTPAuth = 1;
$mail->Username = $phpwcms['SMTP_USER'];
$mail->Password = $phpwcms['SMTP_PASS'];
示例10: csrf_magic
/**
* Проверка на наши запросы POST, GET защита от CSRF
*
*/
function csrf_magic()
{
static $log;
if (defined("NO_CSRF")) {
return true;
}
// Не проеверяем если отключена проверка в скрипте
if ($_POST['u_token_key'] != $_SESSION['rand']) {
if (!$log) {
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/log.php";
$log = new log('csrf/' . SERVER . '-%d%m%Y.log', 'a', '%d.%m.%Y %H:%M:%S - ' . getRemoteIP() . ' "' . $_SERVER['REQUEST_METHOD'] . ' ' . $_SERVER['REQUEST_URI'] . '"' . ' "' . $_SERVER['HTTP_USER_AGENT'] . '"');
}
$log->writeln(" post_key: {$_POST['u_token_key']}, session_key: {$_SESSION['rand']}");
$_POST = array();
$_REQUEST = array();
}
}
示例11: registration
//.........这里部分代码省略.........
$error['agree'] = 'Прочтите и согласитесь с правилами';
}
if ($passwd == '') {
$error['pwd'] = 'Введите пароль';
}
if (!preg_match("/^[a-zA-Z0-9]+[-a-zA-Z0-9_]{2,}\$/", $login)) {
$error['login'] = 'От 3 до 15 символов. Может содержать латинские буквы, цифры, подчёркивание (_) и дефис (-)';
}
if (in_array(strtolower($login), $GLOBALS['disallowUserLogins'])) {
$error['login'] = 'Извините, такой логин использовать нельзя';
}
if (!is_email($email)) {
$error['email'] = 'Поле заполнено некорректно';
}
if ($smscode != $_SESSION["smsCode"]) {
$error['smscode'] = 'Код не совпал';
}
if ($phone != $_SESSION["reg_phone"]) {
$error['phone'] = 'Вы вводили другой номер при запросе кода';
}
$phone = preg_replace("#^\\+#", "", $_SESSION["reg_phone"]);
if (empty($error['login'])) {
$sql = "SELECT uid FROM users WHERE lower(login) = ?";
if ($this->_db->val($sql, strtolower($login))) {
$error['login'] = 'Извините, такой логин уже существует';
}
}
if (empty($error['email']) && empty($error['captcha'])) {
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/temp_email.php";
if (temp_email::isTempEmail($email)) {
$error['email'] = 'К сожалению, регистрация аккаунта на указанный адрес электронной почты невозможна. Пожалуйста, для регистрации воспользуйтесь почтовым адресом другого домена';
} else {
$sql = "SELECT uid FROM users WHERE lower(email) = ?";
if ($this->_db->val($sql, strtolower($email))) {
$error['email'] = 'Указанная вами электронная почта уже зарегистрирована. Авторизуйтесь на сайте или укажите другую электронную почту.';
}
}
}
if (count($error) == 0) {
if ($type_wizard == step_wizard_registration::TYPE_WIZARD_EMP) {
$newuser = new employer();
} else {
$newuser = new freelancer();
}
$newuser->checked_name = false;
if ($type_wizard == step_wizard_registration::TYPE_WIZARD_EMP) {
$newuser->role = 1;
} else {
$newuser->role = 0;
}
$newuser->login = substr($login, 0, 15);
$newuser->email = substr($email, 0, 64);
$newuser->passwd = substr($passwd, 0, 24);
$id = $newuser->Create($rerror, $error);
if ($id && !$error) {
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/activate_code.php";
$this->parent->saveActionWizard($this, step_wizard::STATUS_CONFIRM);
$this->parent->bindUserIDReg($id);
unset($_SESSION['ref_uri']);
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/smail.php';
$smail = new smail();
$bSuspect = users::isSuspiciousUser($id, $newuser->login, '', $newuser->uname, '', $newuser->usurname, '');
$sPasswd = $bSuspect ? $newuser->passwd : '';
// чтобы из админки можно было выслать $smail->NewUser
$code = activate_code::Create($id, $newuser->login, $sPasswd, $error);
if (!$bSuspect) {
$_SESSION['suspect'] = false;
// юзер не подозрительный - сразу отпавляем юзеру письмо с кодом активации
$smail->NewUser($newuser->login, false, $code, $this->getWizardUserID(), $newuser->role ? 'emp' : 'frl');
} else {
$_SESSION['suspect'] = true;
// отправляем уведомление админу о том, что зарегистрировался подозрительный юзер
// если админ его одобрит - то письмо с кодом активации уйдет из админки
$smail->adminNewSuspectUser($newuser->login, $newuser->uname, $newuser->usurname);
}
//Записываем подтвержденный номер телефона в финансы
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/sms_gate.php";
$phone = '+' . preg_replace("#^\\+#", "", $_SESSION["reg_phone"]);
unset($_SESSION["regform_captcha_entered"]);
sms_gate::saveSmsInfo($phone, $_SESSION["reg_sms_isnn"], $_SESSION["smsCode"], $_SESION["reg_sms_date_send"], $id);
// стираем куку, чтобы показался блок "Вы успешно зарегистрировались"
setcookie('master_auth', "", time() - 3600, '/');
// Серый список IP ----------------------
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/gray_ip.php';
$aGrayList = gray_ip::getGrayListByRegIp(getRemoteIP());
if ($aGrayList) {
// есть записи в списке первичных IP
gray_ip::addSecondaryIp($id, $newuser->login, $newuser->role, $aGrayList);
}
//---------------------------------------
$_SESSION['email'] = $newuser->email;
header("Location: /wizard/registration/");
exit;
}
}
} elseif ($action == 'authorization') {
$auth_error = $this->authorization($auth_login);
}
include $_SERVER['DOCUMENT_ROOT'] . "/wizard/registration/steps/tpl.step.reg.php";
}
示例12: __construct
/**
* Конструктор принимает три обязательных параметра и восстанавливает сессию
* подключения (или создает новую, если ее нет).
*
* @param int $uid id пользователя
* @param string $cid id сессии
* @param string $ckey ключ сессии
*/
public function __construct($uid, $cid, $ckey)
{
if (!$uid || !$cid || !$ckey) {
return;
}
$this->_uid = $uid;
$this->_cid = $cid;
$this->_ckey = md5($ckey . getRemoteIP() . $_SERVER['HTTP_USER_AGENT']);
$this->_memBuff = new memBuff();
$this->_loadConnect();
if (empty($this->_connect)) {
$this->_connect = array('evid' => $this->_counter('evid'), 'cid' => $this->_cid, 'ckey' => $this->_ckey, 'uptime' => time());
}
$this->_settings = array('chat' => (int) $_SESSION['chat'], 'sound' => (int) $_SESSION['chat_sound']);
}
示例13: addRecord
/**
* Вставка записи.
*
* @param $fid идентификатор файла
* @param $file_name имя файла
* @param $old_file_name имя файла, который был переименован при замене вновь загруженым
*
* @return int идентификатор записи
**/
public static function addRecord($fid, $file_name, $old_file_name)
{
global $DB;
return $DB->insert(self::TABLE, array('filename' => $file_name, 'fid' => $fid, 'old_file_name' => $old_file_name, 'ip' => getRemoteIP(), 'admin_id' => get_uid(false)), 'id');
}
示例14: static_compress
/**
* Конструктор. Инициализация переменных
*/
function static_compress($enabled = COMPRESS_STATIC, $options = array())
{
if (isset($options['bem']) && $options['bem']) {
$this->bem_src_path = $options['bem'];
} else {
$this->bem_src_path = self::BEM_SRC_PATH;
}
$this->_root = $options['root'];
// $this->memBuff = new memBuff();
$this->enabled = $enabled;
$this->_log = new log('static/' . SERVER . '-%d.log');
$this->_log->linePrefix = '%d.%m.%Y %H:%M:%S : ' . str_pad(getRemoteIP(), 15) . ' ';
$this->isMSIE = stripos($_SERVER['HTTP_USER_AGENT'], 'msie ') !== false;
}
示例15: array
$files = array();
$attach = $_FILES['attach'];
if (is_array($attach) && !empty($attach['name'])) {
foreach ($attach['name'] as $key => $v) {
if (!$attach['name'][$key] || $key > articles_comments::MAX_FILE_COUNT) {
continue;
}
$files[] = new CFile(array('name' => $attach['name'][$key], 'type' => $attach['type'][$key], 'tmp_name' => $attach['tmp_name'][$key], 'error' => $attach['error'][$key], 'size' => $attach['size'][$key]));
}
}
list($att, $uperr, $error_flag) = $comments->UploadFiles($files, array('width' => 390, 'height' => 1000, 'less' => 0));
if ($uperr) {
$alert[2] = $uperr;
}
if (!isset($alert)) {
$new = $comments->Add($uid, $reply, $thread, $msg, $yt_link, $att, getRemoteIP(), $err, $tn);
}
if ($new) {
$q = array();
parse_str(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_QUERY), $q);
$q['goto'] = $new;
header('Location: ./' . url($GET, $q, true, '?'));
// echo "<script>document.location.href = '{$_SERVER['HTTP_REFERER']}#c_$new';</script>";
exit;
}
break;
case 'edit-comment':
if (!$uid) {
header('Location: /fbd.php');
die;
}