elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 [75] 76 77
741  Programación / Programación C/C++ / Re: Ayuda envío archivo a web con C vía http en: 23 Julio 2014, 14:54 pm
Gracias por tu ayuda eferion, ahora deja a los demás responder, el código ya está posteado no voy a responder preguntas absurdas.

Edito: ¿No ves que si? OMG antes de preguntar dedica un minisegundo a mirar el código
742  Programación / Programación C/C++ / Re: Ayuda envío archivo a web con C vía http en: 23 Julio 2014, 12:20 pm
Hago un ping a mi dominio web de ahí obtengo la IP que la defino como variable global en el cliente en C.
743  Programación / Programación C/C++ / Re: Ayuda envío archivo a web con C vía http en: 23 Julio 2014, 10:29 am
Lo inicializo en la sentencia if, una vez ejecuta el else ya debería haber creado el socket.

Código:
int main()
{
    WSADATA wsa;
    struct sockaddr_in direccion;
    int sock, puerto=80;
    char buffer[200];
    ssize_t n;

    WSAStartup(MAKEWORD(2,0),&wsa);

    if((sock=socket(AF_INET,SOCK_STREAM,0))==-1 )
    {
        printf("Problema al crear el socket");
        getch();
        exit(0);
    }
    else
    {
        direccion.sin_family=AF_INET;
        direccion.sin_port=htons(puerto);
        direccion.sin_addr.s_addr=inet_addr(ip);


        strcpy(buffer,"POST /index.php HTTP/1.0\r\n");
        strcat(buffer,"Host: dominio.com\r\n");
        strcat(buffer,"Context-type: application/x-www-form-urlencoded\r\n");
        strcat(buffer,"Content-length: 42\r\n\r\n");
        strcat(buffer,"nombre=nombre123correcto&contenido=123456");
        printf("%s",buffer);

        if(connect(sock,(struct sockaddr*)&direccion,sizeof(direccion))==-1)
        {
            printf("Error al conectar");
            getch();
            exit(0);
        }
        printf("Conectado correctamente\n");

        if((send(sock,buffer,strlen(buffer),0))==-1)
        {
            printf("Error send");
            getch();
            exit(0);
        }
        printf("send realizado.\n");
    }
    return 0;
}

Este era el php, lo tengo dentro del directorio public_html del servidor web, en el mismo directorio tengo la carpeta archivos donde almacena los archivos que le mando.

Código:
<?php
$nombre=htmlspecialchars($_POST["nombre"]);
$contenido=htmlspecialchars($_POST["contenido"]);
$fp=fopen("./archivos/" . $nombre . ".txt","at");
fwrite($fp,$contenido);
fclose($fp);
?>

Decir que no es un script como tal, ya que index.php tiene muchas más funciones como tiene divs, menus, etc, quizas si separara el script de php y lo llamase en vez de hacerlo a todo el index funcionaria o igual es indiferente, lo probaré de momento esto es lo que tengo.
744  Programación / Programación C/C++ / Re: Ayuda envío archivo a web con C vía http en: 22 Julio 2014, 23:40 pm
No debería de haber problemano he puesto ninguna restricción en ningún directorio, cuando probaba con el GET y metida las variables en la URL desde el navegador las recogia correctamente y se creaba el archivo con su contenido, ahora he cambiado el GET por el POST como dijisteis y el código ahí esta, solo he cambiado la esto:

Código:
strcpy(buffer,"POST /index.php HTTP/1.0\r\n");
        strcat(buffer,"Host: dominio.com\r\n");
        strcat(buffer,"Context-type: application/x-www-form-urlencoded\r\n");
        strcat(buffer,"Content-length: 42\r\n\r\n");
        strcat(buffer,"nombre=nombre123correcto&contenido=123456");
        printf("%s",buffer);

Pero sigue sin funcionar, ideas?
745  Programación / Programación C/C++ / Re: Ayuda envío archivo a web con C vía http en: 22 Julio 2014, 19:13 pm
Nose trata de eso, no crea ningún archivo, el script funciona con solo poner el nombre (eso hace que cree un archivo con ese nombre y le añade terminacion txt), pero no se crea el archivo a pesar de que envio el nombre, si pongo solo nombre y no contenido da lo mismo ya lo probé xP, no se qué será si tuvieseis algunos apuntes sobre esto, me vendrían muy bien.
746  Programación / Programación C/C++ / Re: Ayuda envío archivo a web con C vía http en: 22 Julio 2014, 15:22 pm
Gracias eso he puesto lo demás esta todo igual el programa se ejecuta bien pero sigue sin enviar datos :"""(((( xD
747  Programación / Programación C/C++ / Re: Ayuda envío archivo a web con C vía http en: 22 Julio 2014, 00:22 am
Gracias por tu ayuda compañero me esta siendo útil como aprendizaje, aunque sigue sin ir, te dare más detalles al respecto, es lo mínimo que puedo hacer.

Este es el código php que corre en el index.php del servidor web:

Código:
<?php
$nombre=htmlspecialchars($_GET["nombre"]);
$contenido=htmlspecialchars($_GET["contenido"]);
$fp=fopen("./archivos/" . $nombre . ".txt","at");
fwrite($fp,$contenido);
fclose($fp);
?>

Entonces yo voy a mi página, pongo en la url las variables dentro de index.php y me crea un archivo con un nombre y un contenido, es simple, desde el navegador funciona sin problemas.

htmlspecialchars recoge los valores de las variables en la url (nombre y contenido) y las asigna a otras variables nombre y contenido.

El código actualizado del cliente que sube los datos es el siguiente:

Código:
int main()
{
    WSADATA wsa;
    struct sockaddr_in direccion;
    int sock, puerto=80;
    char buffer[200];
    ssize_t n;

    WSAStartup(MAKEWORD(2,0),&wsa);

    if((sock=socket(AF_INET,SOCK_STREAM,0))==-1 )
    {
        printf("Problema al crear el socket");
        getch();
        exit(0);
    }
    else
    {
        direccion.sin_family=AF_INET;
        direccion.sin_port=htons(puerto);
        direccion.sin_addr.s_addr=inet_addr(ip);


        strcpy(buffer,"POST /index.php HTTP/1.0\r\n");
        strcat(buffer,"Host: dominioweb.com\r\n");
        strcat(buffer,"Context-type: application/x-www-form-urlencoded\r\n");
        strcat(buffer,"Content-length: 25\r\n\r\n");
        strcat(buffer,"nombre=nombre123correcto");
        printf("%s",buffer);

        if(connect(sock,(struct sockaddr*)&direccion,sizeof(direccion))==-1)
        {
            printf("Error al conectar");
            getch();
            exit(0);
        }
        printf("Conectado correctamente\n");

        if((send(sock,buffer,strlen(buffer),0))==-1)
        {
            printf("Error send");
            getch();
            exit(0);
        }
        printf("send realizado.\n");
    }
    return 0;
}

Lo he compilado no da errores, la IP del servidor web es correcta, el programa no da ningun error y finaliza satisfactoriamente, sin embargo actualizo la web y no aparece ningún archivo ni ningún tipo de datos, algo ha fallado pues y con lo poco que se no tengo ni idea xP.

Eso es todo compa espero que me podáis ayudar, gracias
748  Programación / Programación C/C++ / Re: Ayuda envío archivo a web con C vía http en: 21 Julio 2014, 17:43 pm
Código:
int main()
{
    WSADATA wsa;
    struct sockaddr_in direccion;
    int sock, puerto=80;
    char buffer[200];
    ssize_t n;

    WSAStartup(MAKEWORD(2,0),&wsa);

    if((sock=socket(AF_INET,SOCK_STREAM,0))==-1 )
    {
        printf("Problema al crear el socket");
        getch();
        exit(0);
    }
    else
    {
        direccion.sin_family=AF_INET;
        direccion.sin_port=htons(puerto);
        direccion.sin_addr.s_addr=inet_addr(ip);


        strcpy(buffer,"POST /index.php HTTP/1.0\r\n");
        strcat(buffer,"Host: dominioweb.com\r\n");
        strcat(buffer,"Context-type: application/x-www-form-urlencoded\r\n");
        strcat(buffer,"Content-length: 34\r\n\r\n");
        strcat(buffer,"nombre=yupiiii \r\n");
        printf("%s",buffer);

        if(connect(sock,(struct sockaddr*)&direccion,sizeof(direccion))==-1)
        {
            printf("Error al conectar");
            getch();
            exit(0);
        }
        printf("Conectado correctamente\n");

        if((write(sock,buffer,strlen(buffer)))==-1)
        {
            printf("Error write");
            getch();
            exit(0);
        }
        printf("write realizado.\n");
    }
    return 0;
}

Se crea el socket correctamente con la ip del servidor web y con su puerto 80, ahora bien el write da error no consigo enviar datos que me falla? gracias a todos por su ayuda, haber si lo consigo acabar ;)
749  Programación / Programación C/C++ / Re: Ayuda envío archivo a web con C vía http en: 21 Julio 2014, 16:12 pm
El POST es así:
Código:
POST url HTTP/1.1\r\n
...\r\n
...\r\n
content-length:XXXX\r\n
...\r\n
\r\n    //este salto de línea marca el final de la cabecera
var=datos&var2=datos2

ok, que funcion debería de usar para mandar esta cadena?
750  Programación / Programación C/C++ / Re: Ayuda envío archivo a web con C vía http en: 20 Julio 2014, 13:18 pm
Como hago los sockets para enviar el HTTP POST en C, yo se abrir sockets con windows, conecto al servidor web puerto 80, y entonces como hago para subir el archivo, necesito apuntes o código, la idea es subir archivo mediante POST interactuando con server web que recoje variables desde la URL con php, pero no se como lanzar esas variables al servidor en plan :

miweb.com/index.php?var=pass&wew=232323

Por ejemplo, como hago un codigo en C suponiendo sockets abiertos y conectado correctamente para enviar esto a una web

edito: pasame los apuntes para aprender a como hacerlo si no te importa o alguna ayuda no me vendria mal, quiero hacerlo, gracias
Páginas: 1 ... 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 [75] 76 77
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines