¿Las contraseñas son seguras de enviar a través de POST, sin SSL en una aplicación de iOS?

0

¿Es seguro publicar contraseñas en mi servidor web de esta manera?

NSURL *url=[NSURL URLWithString:@"http://mywebsite/test/register.php"];

NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[postData length]];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];

NSError *error = [[NSError alloc] init];
NSHTTPURLResponse *response = nil;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

if ([response statusCode] >= 200 && [response statusCode] < 300)
{
    NSString *responseData = [[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
    NSLog(@"Response ==> %@", responseData);
}

Mi servidor no tiene https o ningún certificado, ¿sigue siendo seguro usando el método anterior?

    
pregunta Arian Faurtosh 04.05.2014 - 23:21
fuente

3 respuestas

6

No, porque se transportan sin cifrar a través de Internet. Incluso cuando su aplicación o sitio es http, la mejor práctica es hacer al menos la publicación que contenga el nombre de usuario / contraseña usando encriptación / ssl.

    
respondido por el binaryanomaly 05.05.2014 - 00:02
fuente
3

La solicitud que envíe carecerá de integridad y confidencialidad. Es decir:

  1. La aplicación no puede estar segura de que esté enviando la contraseña al servidor deseado (por ejemplo, un atacante podría envenenar a ARP o DNS para redirigir las solicitudes a su propio servidor) y, a su vez, tampoco puede ser Asegúrese de que la respuesta sea genuina.

  2. La tercera persona que haya interceptado el mensaje podría revelar la contraseña (por ejemplo, si la aplicación se estaba utilizando a través de una red inalámbrica abierta).

Esto no es realmente diferente de una aplicación web que envía una contraseña de la misma manera. Cualquier información enviada de esta manera es vulnerable, y el uso de SSL / TLS no debe limitarse a las contraseñas.

    
respondido por el itscooper 05.05.2014 - 00:52
fuente
0

No, utilice una entidad de certificación gratuita como letsencrypt.org o startssl.com

No debes enviar contraseñas a través de http porque son vulnerables a un hombre en el ataque central

    
respondido por el mateos 08.12.2016 - 13:50
fuente

Lea otras preguntas en las etiquetas