HEX
Server: Apache/2.4.25
System: Linux ion14 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64
User: (10087)
PHP: 7.4.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,system, exec, shell_exec, passthru, popen, proc_open
Upload Files
File: /home/www/web115/wordpress/wp-content/plugins/digimember/application/model/logic/ip_lock.php
<?php

class digimember_IpLockLogic extends ncore_BaseLogic
{
    const session_update_interval = 3600;
    const session_count_interval  = 86400;
    const store_log_days = 90;

    public function checkLogin( $user_id )
    {
        if ($user_id<=0)
        {
            return false;
        }

        $ip = ncore_clientIp();

        $cookie_name = str_replace( '.', '_', "dm_session_${user_id}_${ip}" );

        $session_count_timestamp = ncore_retrieve( $_COOKIE, $cookie_name, 0 );

        $must_update = abs( time() - $session_count_timestamp ) > self::session_update_interval;

        if ($must_update)
        {
            if (!headers_sent()) {
                ncore_setcookie( $cookie_name, time(), 0, '/' );
            }

            /** @var digimember_IpCounterData $model */
            $model = $this->api->load->model( 'data/ip_counter' );
            $model->count( $user_id );

            $count = $model->getForUser( $user_id );

            /** @var digimember_BlogConfigLogic $model */
            $model = $this->api->load->model( 'logic/blog_config' );
            $limit = $model->getIpAccessLimit();

            $limit_violated = $limit > 0 && $count > $limit;

            if ($limit_violated)
            {
                /** @var digimember_AccessLogic $model */
                $model = $this->api->load->model( 'logic/access' );
                $model->blockAccess( $user_id, 'ip_access_limit' );
            }

            return !$limit_violated;
        }

        return true;
    }

    //
    // protected section
    //
   
}