Check server response of

Server response
NS records
Whois domain
Response headers
Request headers
Raw HTML code
302 Found - mycrr.com
HTTP Status: 302
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
Date: Fri, 16 May 2025 15:47:26 GMT
Server: Apache
Strict-Transport-Security: max-age=15552000;
location: /shared/human/index.php?return=https%3A%2F%2Fwww.mycrr.com%2F
X-XSS-Protection: 1; mode=block
Content-Length: 0
Content-Type: text/html; charset=utf-8

HTTP Code 302 Found (Moved Temporarily)

302 status code indicates that the requested resource is temporarily available at a different URL.

When is Code 302 used?

  • When temporarily changing a page URL
  • When testing new content
  • During temporary maintenance

What does Code 302 mean for the user?

The user is automatically redirected to the new URL, but search engines continue to index the old address.

403 Forbidden - https://www.mycrr.com/
HTTP Status: 403
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
Date: Fri, 16 May 2025 15:47:26 GMT
Server: Apache
Strict-Transport-Security: max-age=15552000;
X-Content-Type-Options: nosniff
Access-Control-Allow-Origin: *
Server-Timing: pp;dur=10.773897, audit;dur=5.250931
Set-Cookie: isHuman=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.mycrr.com; secure; httponly
Status: 403 FORBIDDEN
X-XSS-Protection: 1; mode=block
Transfer-Encoding: chunked
Content-Type: text/html; charset=utf-8

HTTP Code 403 Forbidden

403 status code indicates that access to the requested resource is denied, even with authentication.

When is Code 403 used?

  • When accessing restricted content without necessary permissions
  • When security rules block a request
  • When an IP address is banned

What does Code 403 mean for the user?

The user is informed that they do not have permission to access the resource.

GET / HTTP/1.1
Host: mycrr.com
Accept: */*
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Human Verification</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            margin: 0;
            background-color: #f0f2f5;
        }

        .container {
            background: white;
            padding: 2rem;
            border-radius: 8px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            text-align: center;
            max-width: 400px;
            width: 90%;
            position: relative;
        }

        .verification-container {
            margin: 2rem 0;
            position: relative;
            height: 200px;
            display: flex;
            gap: 2rem;
        }

        .button-container {
            flex: 1;
            position: relative;
            border: 2px solid #eee;
            border-radius: 4px;
            padding: 1rem;
        }

        .verification-area {
            flex: 1;
            position: relative;
            border: 2px solid #ccc;
            border-radius: 4px;
            display: flex;
            justify-content: center;
            align-items: center;
            background: #f8f9fa;
        }

        .draggable {
            padding: 0.5rem 2rem 0.5rem;
            border-radius: 4px;
            cursor: pointer;
            user-select: none;
            position: absolute;
            z-index: 1000;
            touch-action: none;
            color: white;
        }

        .decoy-verify-0 {
            background: #007bff;
            border: 4px dashed #000;
        }

        .decoy-verify-1 {
            background: #ff4757;
            border: solid 4px #000;
        }

        .decoy-verify-2 {
            background: #20bf6b;
            border: solid 4px #000;
        }

        .bot-message {
            display: none;
            color: #ff4757;
            font-weight: bold;
            margin-top: 1rem;
        }

        .drop-zone {
            position: absolute;
            width: 120px;
            height: 50px;
            border: 2px dashed #adb5bd;
            border-radius: 4px;
            display: flex;
            justify-content: center;
            align-items: center;
            color: #FFF;
            background: #b7b7b7;
        }

        .success-message {
            display: none;
            color: #28a745;
            font-weight: bold;
            margin-top: 1rem;
        }

        .instructions {
            color: #6c757d;
            margin-bottom: 1rem;
        }

        @media (max-width: 480px) {
            .container {
                padding: 1rem;
                width: 95%;
            }

            .verification-container {
                height: 150px;
                touch-action: none;
            }

            .verification-area {
                height: 100%;
            }

            .draggable {
                padding: 0.75rem 1.5rem;
                touch-action: none;
            }
        }
    </style>
</head>

<body>
    <div class="container">
        <h2>Human Verification</h2>
        <p class="instructions">Drag the button with a dashed border into the box labeled Drop here.</p>

        <div class="verification-container">
            <div class="button-container">
                <div class="draggable decoy-verify-1" id="decoy1" data-verify-type="decoy1"> Verify</div>
<div class="draggable decoy-verify-0" id="decoy0" data-verify-type="decoy0"> Verify</div>
<div class="draggable decoy-verify-2" id="decoy2" data-verify-type="decoy2"> Verify</div>
            </div>
            <div class="verification-area" id="verificationArea">
                <div class="drop-zone" id="dropZone">
                    Drop here
                </div>
            </div>
        </div>

        <div class="success-message" id="successMessage">
            🎉 Congratulations! You've been verified as human.
        </div>
        <div class="bot-message" id="botMessage">
            🤖 Bot detected! Please try again.
        </div>
    </div>

    <script>
        document.addEventListener('DOMContentLoaded', function() {
            const draggable = document.getElementById('decoy0');
            const dropZone = document.getElementById('dropZone');
            const successMessage = document.getElementById('successMessage');
            const returnURL = "/";
            const token = "a54c54e38c20c684798190467433f2776e04eaa92ea6a4615a6ab7140a809a61";

            let isDragging = false;
            let currentX;
            let currentY;
            let initialX;
            let initialY;
            let xOffset = {};
            let yOffset = {};
            let currentElement = null;

            // Touch events with passive: false to prevent scrolling
            draggable.addEventListener('touchstart', dragStart, {
                passive: false
            });
            document.addEventListener('touchend', dragEnd, {
                passive: false
            });
            document.addEventListener('touchmove', drag, {
                passive: false
            });

            // Prevent default touch behavior on the verification container
            document.querySelector('.verification-container').addEventListener('touchmove',
                function(e) {
                    e.preventDefault();
                }, {
                    passive: false
                }
            );

            // Randomize button positions on load
            function randomizeButtonPositions() {
                const positions = [{
                        top: '1rem'
                    },
                    {
                        top: '4.5rem'
                    },
                    {
                        top: '8rem'
                    }
                ];

                // Shuffle positions array
                for (let i = positions.length - 1; i > 0; i--) {
                    const j = Math.floor(Math.random() * (i + 1));
                    [positions[i], positions[j]] = [positions[j], positions[i]];
                }

                // Apply shuffled positions to buttons
                document.querySelectorAll('.draggable').forEach((button, index) => {
                    button.style.top = positions[index].top;
                    button.style.left = '1rem';
                });
            }

            // Call randomization on page load
            randomizeButtonPositions();
            const draggables = document.querySelectorAll('.draggable');
            draggables.forEach(element => {
                element.addEventListener('mousedown', dragStart, false);
                element.addEventListener('touchstart', dragStart, {
                    passive: false
                });
            });

            // Mouse events for document
            document.addEventListener('mouseup', dragEnd, false);
            document.addEventListener('mousemove', drag, false);

            function dragStart(e) {
                if (e.target.classList.contains('draggable')) {
                    isDragging = true;
                    currentElement = e.target;
                    currentElement.style.zIndex = "1000";

                    // Initialize offset for this element if it doesn't exist
                    const elementId = currentElement.id;
                    if (!(elementId in xOffset)) {
                        xOffset[elementId] = 0;
                        yOffset[elementId] = 0;
                    }

                    if (e.type === 'touchstart') {
                        initialX = e.touches[0].clientX - xOffset[elementId];
                        initialY = e.touches[0].clientY - yOffset[elementId];
                        e.preventDefault(); // Prevent scrolling while dragging
                    } else {
                        initialX = e.clientX - xOffset[elementId];
                        initialY = e.clientY - yOffset[elementId];
                    }
                }
            }

            function dragEnd(e) {
                if (currentElement) {
                    const elementId = currentElement.id;
                    const draggableRect = currentElement.getBoundingClientRect();
                    const dropZoneRect = dropZone.getBoundingClientRect();

                    if (isOverlapping(draggableRect, dropZoneRect)) {
                        const verifyType = currentElement.getAttribute('data-verify-type');

                        if (verifyType === 'decoy0') {
                            showSuccess(currentElement);
                        } else {
                            showBotMessage(currentElement);
                        }
                    }

                    initialX = currentX;
                    initialY = currentY;
                }

                isDragging = false;
                currentElement = null;
            }

            function drag(e) {
                if (isDragging && currentElement) {
                    e.preventDefault();
                    e.stopPropagation();

                    const elementId = currentElement.id;
                    let clientX, clientY;

                    if (e.type === 'touchmove') {
                        clientX = e.touches[0].clientX;
                        clientY = e.touches[0].clientY;
                    } else {
                        clientX = e.clientX;
                        clientY = e.clientY;
                    }

                    currentX = clientX - initialX;
                    currentY = clientY - initialY;

                    xOffset[elementId] = currentX;
                    yOffset[elementId] = currentY;

                    setTranslate(currentX, currentY, currentElement);
                }
            }

            function setTranslate(xPos, yPos, el) {
                el.style.transform = `translate3d(${xPos}px, ${yPos}px, 0)`;
            }

            function calculateOverlapPercentage(rect1, rect2) {
                // Find overlapping rectangle coordinates
                const xOverlap = Math.max(0, Math.min(rect1.right, rect2.right) - Math.max(rect1.left, rect2.left));
                const yOverlap = Math.max(0, Math.min(rect1.bottom, rect2.bottom) - Math.max(rect1.top, rect2.top));

                // Calculate overlap area
                const overlapArea = xOverlap * yOverlap;
                // Calculate draggable area
                const draggableArea = rect1.width * rect1.height;

                // Return overlap percentage
                return (overlapArea / draggableArea) * 100;
            }

            function isOverlapping(rect1, rect2) {
                const overlapPercentage = calculateOverlapPercentage(rect1, rect2);
                return overlapPercentage >= 60; // Requires 60% overlap
            }

            function showBotMessage(element) {
                element.style.backgroundColor = '#ff4757';
                element.style.cursor = 'default';
                element.textContent = '✗ Bot';
                element.style.transform = `translate3d(${currentX}px, ${currentY}px, 0)`;
                botMessage.style.display = 'block';
                successMessage.style.display = 'none';

                // Remove all event listeners
                const draggables = document.querySelectorAll('.draggable');
                draggables.forEach(el => {
                    el.removeEventListener('touchstart', dragStart);
                    el.removeEventListener('mousedown', dragStart);
                });
                document.removeEventListener('touchend', dragEnd);
                document.removeEventListener('touchmove', drag);
                document.removeEventListener('mouseup', dragEnd);
                document.removeEventListener('mousemove', drag);

                const xhr = new XMLHttpRequest();
                xhr.open('POST', '/shared/human/index.php', true);
                xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                xhr.setRequestHeader('X-CSRF-Token', token);

                xhr.onload = function() {
                    if (xhr.status === 200) {
                        if (xhr.responseText == 'success') {
                            window.location.replace(returnURL);
                        } else {
                            window.location.reload();
                        }
                    }
                };

                xhr.onerror = function() {
                    console.error('Request failed');
                };

                xhr.send('confirmed=0');
            }

            // Set a cookie
            function setCookie(name, value, domain, secure) {
                console.log(secure);
                document.cookie = `${name}=${value};expires=0;domain=${domain};path=/;SameSite=Strict`+(secure ? `; secure` : ``);
            }

            function showSuccess(element) {
                // Keep the button at its current position
                element.style.backgroundColor = '#28a745';
                element.style.cursor = 'default';
                element.textContent = '✓ Verified';
                element.style.transform = `translate3d(${currentX}px, ${currentY}px, 0)`;
                successMessage.style.display = 'block';
                botMessage.style.display = 'none';

                // Remove all event listeners
                const draggables = document.querySelectorAll('.draggable');
                draggables.forEach(el => {
                    el.removeEventListener('touchstart', dragStart);
                    el.removeEventListener('mousedown', dragStart);
                });
                document.removeEventListener('touchend', dragEnd);
                document.removeEventListener('touchmove', drag);
                document.removeEventListener('mouseup', dragEnd);
                document.removeEventListener('mousemove', drag);



                const xhr = new XMLHttpRequest();
                xhr.open('POST', '/shared/human/index.php', true);
                xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                xhr.setRequestHeader('X-CSRF-Token', token);

                xhr.onload = function() {
                    if (xhr.status === 200) {
                        let tokenData = JSON.parse(xhr.responseText);
                        if (tokenData.status == 'success') {
                            setCookie('isHuman', tokenData.token, tokenData.domain, tokenData.secure);
                            window.location.replace(returnURL);
                        } else {
                            window.location.reload();
                        }
                        //console.log('Response:', xhr.responseText);
                    }
                };

                xhr.onerror = function() {
                    console.error('Request failed');
                };

                xhr.send('confirmed=1');


            }


        });
    </script>
</body>

</html>                               

Whois info of domain

Domain Name: MYCRR.COM
Registry Domain ID: 162393923_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.ionos.com
Registrar URL: http://www.ionos.com
Updated Date: 2024-05-28T07:40:31Z
Creation Date: 2005-05-27T23:56:21Z
Registry Expiry Date: 2025-05-27T23:56:21Z
Registrar: IONOS SE
Registrar IANA ID: 83
Registrar Abuse Contact Email: [email protected]
Registrar Abuse Contact Phone: +1.6105601459
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Name Server: NS1.DELTAGROUP.COM
Name Server: NS2.DELTAGROUP.COM
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2025-05-16T15:47:18Z <<<
For more information on Whois status codes, please visit https://icann.org/epp
NOTICE: The expiration date displayed in this record is the date the
TERMS OF USE: You are not authorized to access or query our Whois
by the following terms of use: You agree that you may use this Data only
to: (1) allow, enable, or otherwise support the transmission of mass