Noticifacion por PHP

Iniciado por Ferсhu, 16 Agosto 2007, 01:41 AM

0 Miembros y 1 Visitante están viendo este tema.

Ferсhu

Bueno antes q nada no se si iva aca o en el subforo de php, si es asi muevanlo.

Digamos q tengo cierto programita q conecta con una web, y quiero q deje una notificacion de su ip y cierta info. Pensando asi rapido me imagino q se puede por medio de las cabeceras, q conecte q mande los datos y q el codigo php guarde en un archivo las cabeceras.
tampoco estoy seguro de como obtener la ip PERO de la conexion y no enviandola como dato en la cabecera, creo q con una variable de php me lo decia, pero capaz esa variable se bada en datos de la cabecera jej, en fin si alguien esta seguro de cual es la mejor forma q me diga.

Algo mas deberia hacer?  :-\ por casualidad alguien tiene algun ejemplo de este tipo de notificacion?


Saludos!!!

yeikos

Código (php) [Seleccionar]
<?php 
if (isset($_SERVER ['HTTP_X_FORWARDED_FOR'])) {
$strIP $_SERVER ['HTTP_X_FORWARDED_FOR'];
} elseif (isset(
$_SERVER['HTTP_VIA'])) {
$strIP $_SERVER['HTTP_VIA'];
} elseif (isset(
$_SERVER['REMOTE_ADDR'])) {
$strIP $_SERVER ['REMOTE_ADDR'];
} else {  
$strIP "N//A" ;
}     
   
$fp fopen("log.txt""a+"); 
$write fputs($fp"Direccion IP: ".$strIP."\r\nFecha: ".date("d-m-y H:i:s")."\r\n\r\n"); 
fclose($fp);
?>


Ferсhu

Gracis yeikos, habia encontrado q remote_addr se usa para obtener la ip del cliente. y q HTTP_X_FORWARDED_FOR es cuando pasa por proxys, pero tengo una duda, la info la saca de las cabeceras no??, como hacer para obtener la ip del "paquete ip" q llega al servidor.

Saludos.

yeikos

Es posible que con REMOTE_ADDR te devuelva una dirección IP intermediaria.
Por eso se declaran las otras variables, por si falla una, que pase a la siguiente.

La array SERVER, en PHP, contiene datos sobre el servidor y el cliente, entre los que se encuentra la dirección IP, así que no te hará falta capturar ningún paquete...

Ferсhu

Entiendo lo q me decis, pero queria ver si se podia hacer algo de eso, por q a la pagina no va a conectar un navegador sino un programa yo haga, yase q puedo simular y enviar las cabeceras, pero en el caso de q el programa este en una lan, tengo q averiguar la ip externa y luego enviarla como dato, por eso me parecio mas facil q en ves de enviarla como dato la pagina la detecte.

Si la variable REMOTE_ADDR la obtiene de el server(ej apache) con esto me alcanza, ahora si la obtiene de la cabecera no me alcanza jej. Su pongo q si usa "_SERVER" debe venir del servidor  :-\.

Es asi como digo?

Gracias por tu ayuda.



Ferсhu

Citar$_SERVER es una matriz que contiene información tal como cabeceras, rutas y ubicaciones de scripts. Las entradas de esta matriz son creadas por el servidor web. No existen garantías de que cada servidor vaya a proveer alguno de estos valores; puede que los servidores omitan algunos, o provean otros que no se listan aquí. Hecha esta aclaración, un gran número de estas variables hacen parte de la especificación CGI 1.1, así que puede esperar que sean definidas por el servidor.

Citar'REMOTE_ADDR'

    La dirección IP desde donde el usuario está observado la página actual.

Lo pregunto por q no me aclara nada me deja todo abarcando las 2 posibilidades

Donde puedo averiguar como obtiene el servidor la ariable REMOTE_ADDR.

por ej HTTP_REFERER esta estoy segurisimo q la obtiene de la cabecera.

Ferсhu

por ej, me meto en la pagina q me pasaste y en ningun momento le pasa mi ip.

CitarGET /reserved.variables HTTP/1.1
Host: es2.php.net
User-Agent: Mozilla/5.0
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://foro.elhacker.net/index.php/topic,176605.0.html
Cookie: LAST_LANG=es; COUNTRY=ARG%2C201.253.79.103
If-Modified-Since: Thu, 16 Aug 2007 20:39:18 GMT
Cache-Control: max-age=0

HTTP/1.x 200 OK
Date: Thu, 16 Aug 2007 21:11:11 GMT
Server: Apache/1.3.33 (Unix) PHP/4.3.11 mod_perl/1.29
X-Powered-By: PHP/4.3.11
Content-Language: en
Status: 200 OK
Last-Modified: Thu, 16 Aug 2007 20:39:18 GMT
Vary: Cookie
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html;charset=utf-8

Solo con esto pudo deducir q REMOTE_ADDR la obtiene de otro lado?  :huh:

Ferсhu

Listo ya lo hice, al final lo probe para sacarme la duda con nc y es asi. Gracias por la ayuda!!

Saludos!!

Ahri89

Hola, he dado con este post buscando información sobre If-Modified-Since, si alguien me puede explicar como va esto se agradece.

Por lo que he leído sirve para que google no use ancho de banda de tu servidor diciendole que el archivo no fue modificado desde la última vez que te visitó GoogleBot y le sale el error 303 que son unos pocos KB.

Bien, pues quisierasaber como activar esto, gracias.