Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][curl] Adres IP (remote addr)
Forum PHP.pl > Forum > PHP
sunneku
Witam

Mam serwer który ma proxy.php.
W tym pliku realizuje on curl
  1. $ch = curl_init( $url );
  2. if ( strtolower($_SERVER['REQUEST_METHOD']) == 'post' ) {
  3. curl_setopt( $ch, CURLOPT_POST, true );
  4. curl_setopt( $ch, CURLOPT_POSTFIELDS, $_POST );
  5. }
  6. curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
  7. curl_setopt( $ch, CURLOPT_HEADER, true );
  8. curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
  9. curl_setopt( $ch, CURLOPT_USERAGENT, $_GET['user_agent'] ? $_GET['user_agent'] : $_SERVER['HTTP_USER_AGENT'] );
  10. curl_close( $ch );


Użytkownik z index.php klika na dajmy na to button. Wówczas button metodą onload wywołuje powyższy plik. Zaś w url odwołuje się do innego serwera.

Mój problem: chcę zeby w przypadku takiego "pukania" w access_log apache widoczne był że to ten użytkownik wchodził a nie serwer na którym leży proxy.php.
Jest to możliwe? Jeśli tak to jak? Z góry dziękuję za wszelką pomoc.
rollen
Polecam sekcję Using Environment Variables podpunkt Conditional Logging na http://httpd.apache.org/docs/current/env.html

Jest tam mowa o logowaniu w zależności od zmiennych środowiskowych. Do tego przyda się też http://httpd.apache.org/docs/current/mod/mod_log_config.html sekcja CustomLog Directive, oraz Custom Log Formats szczególnie %{FOOBAR}e...

Przez php można je ustawić zmienne środowiskowe apache poprzez funkcje apache_setenv.
Więc ustawinie takiej zmiennej spowoduje zapisanie odpowiednich logów, przy odpowiedniej konfiguracji logów Apache.

Pozostaje tylko w skrypcie rozpoznać to "pukanie"...

Dobrze byłoby za każdym odwołaniem srawdzać odstęp pomiędzy "puknięciami". Proponuę do pliku zapisaywać czas ostatniego puknięcia. Różnica między aktualnym czasem, a czasem z pliku to odstęp między "puknięciami". Jeżeli jest mniejszy niż X milisekund ustawiasz określoną zmienną poprzez apache_setenv.
CustomLog Apache robi resztę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.