Как опубликовать данные имя пользователя пароль для входа в систему

#php #ios #post #login

#php #iOS #Публикация #аутентификация

Вопрос:

Привет, в моем приложении есть имя пользователя и пароль на моем сервере, поэтому пользователю необходимо войти с именем пользователя и паролем с устройства, для этого я отправляю данные в свой php-скрипт и получаю ответ, я делаю это впервые login , процесс не находит правильного решения, пожалуйста, помогите мне.

Мой почтовый индекс.

 - (IBAction)submit:(id)sender {
     NSString *us = usern.text;
     NSString *pa = pass.text;
   NSURL *url = [NSURL URLWithString:@"http://localhost/ios/?"];
   NSString *post = [NSString stringWithFormat:@"amp;Username=%@amp;Password=%@",us,pa];
   NSLog(@"%@",post);
     NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[url standardizedURL]
                                                       cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60];

    [request setHTTPMethod:@"POST"];
    [request setValue:@"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
    [request setHTTPBody:[post dataUsingEncoding:NSUTF8StringEncoding]];



  }
  

Я использовал приведенный выше код для публикации данных после поиска в Google, но проблема в том, как я могу использовать этот URL в своем php скрипте пожалуйста, расскажите, как использовать URL для получения имени пользователя пароля и передать его в надлежащий URL для использования в моем php скрипте

Комментарии:

1. 1. Используйте SSL для защиты начальных учетных данных для входа. 2. Не сохраняйте пароль на своем сервере, даже не отправляйте пароль на сервер, сохраните соленый хэш пароля. В приложении, когда пользователь вводит пароль, создайте соленый хэш и отправьте его на сервер. Тогда, когда ваш сервер взломан, никакие пароли не будут разглашены, поскольку на вашем сервере их не будет.

2. «не получается правильное решение» В чем ошибка? Вы можете точно проверить, что отправляется на сервер с помощью сетевого анализатора, такого как Charles proxy (бесплатная пробная версия). Таким образом, вы будете знать, является ли это проблемой клиента или сервера.

3. @Zaph я не пользователь, это передаст данные на мой URL или нет, тогда как можно использовать этот URL в моем php-скрипте

Ответ №1:

Я не знаю, даю ли я правильный ответ на ваш вопрос. Если нет, я приношу извинения. Я понимаю, что вы создаете форму входа в iOS, чтобы подтвердить данные для входа через PHP, который хранится в вашей базе данных.

создайте простую форму входа в PHP:

 <?php

$host="localhost"; // Host name 

$username=""; // Mysql username 

$password=""; // Mysql password 

$db_name="test"; // Database name 

$tbl_name="members"; // Table name 

// Connect to server and select database.

mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// username and password sent from form 

$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 

// To protect MySQL injection (more detail about MySQL injection)

$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row

$count=mysql_num_rows($result);
  

обновите строку NSURL:

 NSURL *url = [NSURL URLWithString:@"http://www.zzz.com/xyz.php";
  

опубликуйте параметры

 NSString *post = [NSString stringWithFormat:@"amp;Username=%@amp;Password=%@",us,pa];
  

Как только вы добьетесь успеха с этим, вы можете изменить, как сказал саф, соленый хэш.

Существует множество руководств по созданию имени пользователя и пароля для входа в iOS. я не знаю, являетесь ли вы базовым или начинающим программистом. Но попробуйте это, и у вас может появиться некоторая идея. http://www.youtube.com/watch?v=HrZR2SyeoSk.

Вы можете использовать сериализацию JSON, если вы планируете загружать данные с сервера.

Комментарии:

1. Пожалуйста, не используйте mysql_* функции в новом коде . Они больше не поддерживаются и официально устарели . Видите красное поле ? Вместо этого изучите подготовленные инструкции и используйте PDO или MySQLi эта статья поможет вам решить, что именно. Если вы выбираете PDO, вот хороший учебник .