X-Forwarded-For

Issue #6 on hold
Stefan created an issue

Като кача на хостинга сайта и като пратя X-Forwarded-For виждам в базата данни, че взима хем моето реално IP, хем на хостинга IP-то. Ако премахна X-Forwarded-For, взима само на хостинга, което не е оферта, защото всички влезли ще се бъгват заради еднаквото IP.

Можеш ли да ги разделиш и да оставиш само първото, което де факто е на потребителя IP-то, защото като се мъчи да записва и двете и бъгва нещата.

В базата (ibs_sessions) нещо такова се записва под ip_address:

MY-REAL-IP, HOSTING-IP

Comments (10)

  1. mr mcwolf repo owner

    Проблемът може би е в проксито. Утре ще махна добавянето на тоя хедър от него и ще кажеш дали проблемът изчезва.

  2. mr mcwolf repo owner

    Това се извъди корав проблем. Ако махна хедърът от страна на проксито се губи адресът при директна заявка. Ако го оставя, чинно си добавя и адресът на посредника.

    За сега смятам да го оставя така, тъй като това с IP адресите е леко проблемо на тоя етап (заради GDPR). Може би, ще е по-удачно да се работи с хешове. Та за сега го остави това.

  3. mr mcwolf repo owner

    Май го направих

    #!
    
    
    map $http_x_forwarded_for $addr {
        "" $remote_addr;
        default $http_x_forwarded_for;
    }
    
    server {
        ...
    
        proxy_set_header X-Forwarded-For $addr;
    }
    
  4. Stefan reporter

    Да, работи нормално сега. Въпроса е, че ако се интегрира към официалния форум, ще трябва също да се направят такива модификации по сървъра, а не знам до колко те имат такъв достъп.

  5. mr mcwolf repo owner

    Проблема с тестовия сървър е, че на него работят два апача, всеки с различна версия на php. Та тези два сървъра са скрити зад 3-ти. Това решение касае само тестовата конфигурация.

    Ако апи-то влезе реално в употреба ще се види как изобщо ще се процедира с IP адресите и според това каква ще е конфигурацията ще търсиме решение.

    За сега го зарежи така. Само предвиди, че може да се извеждат хешове на IP адресите (видни за всички потребители).

  6. Stefan reporter

    Да, в последствие се усетих, че е специфично за проксито настройка.

    Иначе я обясни малко какво се има предвид хешове на IP. Каква е идеята. И между другото, сървъра връща pass_hash бисквитка, която е хеш при логнат потребител и 0 при гост/анонимен. Не съм сигурен това каква роля играе в случая. За момента при мен не я записвам тази бисквитка.

    Записва се автоматично само при изход.

    Ако искаш отвори тема във форума относно хешовете, че не съм сигурен за идеята каква е.

  7. mr mcwolf repo owner

    Проблемът с IP тата е GDPR-то . Те се водят лична информация (чувствителна или там както го водеха). А съхранението на такива данни трябва да се прави при определени условия. Та за да се избегне това и все пак да има някава система за сигурност може да се ползват хешове на IP адресите. И след като няма да се работи директно с IP адреси, то нищо не пречи хешовете им да са публични (това някой го предложи във форумът).

    А относно pass_hash. Това е имплементация на функцията "запомни ме". Демек логваш се с потребителското id (също се сетва с бисквитка) + хешът на паролата ти. Малко подозрително ми се струва като решение това, но форумът е написан така. Това може да е променено в последствие, така че, за сега го зарежи.

  8. Stefan reporter

    Ясно, хванах идеята.

    pass_hash и аз усетих, че е за нещо такова, но няма да го използвам. "Запомни ме" ще си го имплементирам лично, то така или иначе не виждам да играе роля през API-то.

  9. Log in to comment