Фильтрация входящих отпечатков в кастом сервере.

Moved Запросы функционала
  • Попытался донести -до него, что нужны фильтры в кастом сервере:

    1. пытался объяснить что нет возможности в кастом сервере игнорировать например мобильные отпечатки.
    2. объяснил что есть проблема с фильтрацией отпечатков, которую ни раз поднимали на этом форуме.
    3. нет возможности удалить не нужные из кастом сервера.

    Даже привел код, который работает в браузере, но все равно шлет мобилы в кастом:

    <script>
    if (!/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(navigator.userAgent))
    document.addEventListener("DOMContentLoaded", function(){ProcessFingerprint(false, "брбрб бр")});
    </script>
    

    Но все рано залетают в кастом отпечатки с мобил ....

    Получил ответ:
    Screen Shot 2024-10-07 at 01.21.45.png

    какой он там не пишет код, осталось за кадром ....

    Попытался получить еще объяснений:
    Screen Shot 2024-10-07 at 01.23.07.png

    У разработчика все хорошо ?

    чето, как то не очень похоже, но я то с добрыми намериньями ....

  • ModeratorM Moderator moved this topic from Запросы функционала on
  • @Bigma said in Попытка разговора с разработчиком....:

    пытался объяснить что нет возможности в кастом сервере игнорировать например мобильные отпечатки.

    CustomServers это всего лишь JS код на твоей странице, можно проверять мобилка пришла или нет и не загружать этот самый код.

    @Bigma said in Попытка разговора с разработчиком....:

    Но все рано залетают в кастом отпечатки с мобил ....

    Вероятно, разработчик тут не при чем, если твой код не работает, как ты ожидаешь.

    Можно попробовать проверять не только по user agent, код не тестировал, привел скорее его для примера, а не для копипаста и в продакшен:

    document.addEventListener("DOMContentLoaded", function () {
        function isTouchDevice() {
            return 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
        }
    
        function isMobileDevice() {
            const userAgent = navigator.userAgent || navigator.vendor || window.opera;
            return /android|iPad|iPhone|iPod|Opera Mini|IEMobile|WPDesktop/i.test(userAgent);
        }
    
        function isSmallScreen() {
            return window.innerWidth < 1280;
        }
    
        function isPortrait() {
            return window.innerHeight > window.innerWidth;
        }
    
        function hasTouchEventSupport() {
            return 'ontouchstart' in window || (window.DocumentTouch && document instanceof DocumentTouch);
        }
    
        function isMobileMediaQuery() {
            return window.matchMedia("(max-width: 1280px)").matches;
        }
    
        function isHighDpi() {
            return window.devicePixelRatio > 1;
        }
    
        // Comprehensive function to check if the device is a mobile device
        function isMobile() {
            return (
                isTouchDevice() ||
                isMobileDevice() ||
                isSmallScreen() ||
                isPortrait() ||
                hasTouchEventSupport() ||
                isMobileMediaQuery() ||
                isHighDpi()
            );
        }
    
        // Main logic to determine action based on device type
        if (isMobile()) {
            console.log("Touch screen, mobile device, or small screen detected. No action taken.");
        } else {
            console.log("No mobile device, touch screen, or small screen detected.");
            ProcessFingerprint(false, "bla-bla-bla"); 
        }
    });
    

    @Bigma said in Попытка разговора с разработчиком....:

    нет возможности удалить не нужные из кастом сервера.

    Я давным давно не пользуюсь напрямую отпечатками с серверов разработчика , так как сервера отпечатков работали нестабильно.

    Я скачиваю отпечатки, фильтрую как мне нужно, что-то там делаю с ними и раздаю своим скриптам.

  • windows = navigator.userAgent.includes('Windows')
    if (windows) { 
       Загрузить скрипт кастом сервера
    }
    

    Все там работает

  • @FastSpace Спасибо, изящное решение, чето я так не думал.