HEX
Server: Apache/2.4.6 (CloudLinux) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.4.16
System: Linux s1.gigspace.ru 3.10.0-962.3.2.lve1.5.77.el7.x86_64 #1 SMP Mon Dec 12 07:06:14 EST 2022 x86_64
User: samok164 (6070)
PHP: 7.2.34
Disabled: NONE
Upload Files
File: /var/www/samok164/data/www2/culture-style.ru/rzgn/getHash.php
<?php

    function getHash($url, $r4_cfg_root)
    {

        $u = parse_url(str_replace('&amp;', '&', $url));
       
        $kp = file("{$r4_cfg_root}r4_knownparams.list");
        $known_params = Array();
        foreach ($kp as $K)
        {
            $known_params[] = trim($K);
        }
        
        if (empty ($u['path'])) $u['path'] = '/';
        
        $hash = Array ();
        
        $hash['=p'] = $u['path'];
            
        if (!empty ($u['query']))
        {
            $as = explode('&', $u['query']);
             
            foreach ($as as $attr)
            {
                $pair = explode('=', $attr);
                
                if (!empty($pair))
                {
                    $v = '';
                    $k = '';
                    if (!empty($pair[1]))
                    {
                        if (preg_match('/[0-9a-fA-F]{32}/', $pair[1]))
                        {
                            continue;
                        }
                        $v = $pair[1];
                    }
                    
                    if (!empty($pair[0]))
                    {
                        if (!in_array($pair[0], $known_params))
                        {
                            continue;
                        }
                        $k = $pair[0];
                    }
                    if ( !isset($hash[$k])) $hash[$k] = Array ();
                    $hash[$k][] = $v;
                }
            }
        }
        
        ksort($hash);
        
        $hash = md5(serialize($hash));
        
        
        return $hash;
    }