0

パスワードをハッシュして mySql データベースに保存しようとしています。ローカルホストで保存する場合、これは問題ありませんでしたが、サーバーに移動したため、ハッシュ方式によりすべてが機能しなくなりました。ハッシュ コードを削除すると問題なく保存されますが、パスワードをハッシュしたいと考えています。同じコードがローカルで正常に動作し、Web ベースのコードが Sql に正常に接続するため、奇妙に思えます。ハッシュするさまざまな方法を試しましたが、試してみるとすぐに

"2013-10-15 22:37:07.915 UsernameAndPasswordwithphp[20249:a0b] サーバーからの応答 = "

それよりも

「2013-10-15 22:54:53.750 UsernameAndPasswordwithphp[21323:a0b] サーバーからの応答 = 接続が確立されたデータベースが選択されました」

私はphp 5.5.3を実行しています

よろしくお願いします!

ここに私のコードがあります

<?php
//session_start()


$host = ""; 
$user = ""; 
$pass = ""; 
$db = "";

$r = mysql_connect($host, $user, $pass);

if (!$r) {
    echo "Could not connect to server\n";
    trigger_error(mysql_error(), E_USER_ERROR);
} else {
    echo "Connection established\n"; 
}

$r2 = mysql_select_db($db);

if (!$r2) {
    echo "Cannot select database\n";
    trigger_error(mysql_error(), E_USER_ERROR); 
} else {
    echo "Database selected\n";
}


$usernameFromApp = $_GET["f1"];
$nameFromApp = $_GET["f2"];
$passwordFromApp = $_GET["f3"];



 $timeTarget = 0.2; 
 $cost = 9;
 do {
     $cost++;
     $start = microtime(true);
     password_hash($passwordFromApp, PASSWORD_BCRYPT, ["cost" => $cost]);
     $end = microtime(true);
 } while (($end - $start) < $timeTarget);
 $hash = password_hash($passwordFromApp, PASSWORD_BCRYPT, ["cost" => $cost]);

 echo "Appropriate Cost Found: " . $cost . "\n";
 echo $hash."\n";




$name = $_GET["f2"];

$username = $_GET["f1"];

$password = $hash;

//$password = $_GET["f3"];

$query = "INSERT INTO user VALUES ('', '$name','$username','$password')";

mysql_query($query) or die (mysql_error("error"));

mysql_close();


?>
4

1 に答える 1