Verwenden Sie this code für die Authentifizierung meiner URL.HTTP-URL-Schutz funktioniert in localhost aber schlägt auf dem Server fehl
Seine adaequat in meinem
localhost
aber wenn ich auf den Server (GoDaddy) zu laden, sein immer wieder für die Benutzername und Passwort gefragt.Ich möchte die Kontrolle über diese Benutzernamen und Passwortfelder übernehmen und sie mit meiner Datenbank verbinden.
für diesen Code wie folgt bin mit:
$conid = mysql_connect("localhost", "root", "");
if(!$conid) {
die("sorry unable to establish a connection".mysql_error());
}
echo "connected succesfully<br>";
mysql_select_db("passurl", $conid);
$rr = mysql_query("select password from validate where username='$user' ");
while($row = mysql_fetch_array($rr)) {
$x = $row['password'];
}
if($x == $password) {
//take into the website
}
so, wenn der Benutzername & Passwort vom Benutzer eingegeben werden, auf eine erfolgreiche Authentifizierung dauert es in diese Seite.
Ich benutze PHP-MYSQL, wie ich vorläufige Kenntnisse habe, bin Anfänger Programmierung.
bitte helfen Sie mir bei der Behebung der oben genannten zwei Probleme mit dem geeigneten getesteten Code.
Bearbeiten: Problem 1 arbeitet lokal und verwendet den gleichen Code wie in der Verknüpfung zur Verfügung gestellt. Problem 2 versucht, diese Felder username
und password
aus meiner lokalen Datenbank abzurufen, so dass die Anmeldung auf meinem lokalen Host gewährt werden kann (wenn es zu einem späteren Zeitpunkt funktioniert, nehme ich die Datenbank online).
Bearbeiten-2:
ty.php
enthält Code wie
<?php
$auth_realm = 'Access restricted';
require_once 'auth.php';
echo "You've logged in as {$_SESSION['username']}<br>";
echo '<p><a href="?action=logOut">LogOut</a></p>'
?>
<center><h1>now you see the protected content</h1></center>
und auth.php
enthält
<?php
$_user_ = 'test';
$_password_ = 'test';
session_start();
$url_action = (empty($_REQUEST['action'])) ? 'logIn' : $_REQUEST['action'];
$auth_realm = (isset($auth_realm)) ? $auth_realm : '';
if (isset($url_action)) {
if (is_callable($url_action)) {
call_user_func($url_action);
} else {
echo 'Function does not exist, request terminated';
};
};
function logIn() {
global $auth_realm;
if (!isset($_SESSION['username'])) {
if (!isset($_SESSION['login'])) {
$_SESSION['login'] = TRUE;
header('WWW-Authenticate: Basic realm="'.$auth_realm.'"');
header('HTTP/1.0 401 Unauthorized');
echo 'You must enter a valid login and password';
echo '<p><a href="?action=logOut">Try again</a></p>';
exit;
} else {
$user = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : '';
$password = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : '';
$result = authenticate($user, $password);
if ($result == 0) {
$_SESSION['username'] = $user;
} else {
session_unset($_SESSION['login']);
errMes($result);
echo '<p><a href="">Try again</a></p>';
exit;
};
};
};
}
function authenticate($user, $password) {
global $_user_;
global $_password_;
if (($user == $_user_)&&($password == $_password_)) { return 0; }
else { return 1; };
}
function errMes($errno) {
switch ($errno) {
case 0:
break;
case 1:
echo 'The username or password you entered is incorrect';
break;
default:
echo 'Unknown error';
};
}
function logOut() {
session_destroy();
if (isset($_SESSION['username'])) {
session_unset($_SESSION['username']);
echo "You've successfully logged out<br>";
echo '<p><a href="?action=logIn">LogIn</a></p>';
} else {
header("Location: ?action=logIn", TRUE, 301);
};
if (isset($_SESSION['login'])) { session_unset($_SESSION['login']); };
exit;
}
?>
so, wenn wir ty.php
traf es für Benutzername und Passwort fragt und auf eine erfolgreiche Validierung es zeigt das geschützte herunter. All dies funktioniert gut in localhost, aber es funktioniert nicht auf dem Server. aus diesem
Vielen Dank im Voraus
Kann pls mir jemand helfen :)
richtige Formatierung bitte – JimmyBanks
Bitte können Sie zeigen Sie die vollen, eigentlichen Code. Stellen Sie außerdem sicher, dass die DB-Verbindung auf Ihrem öffentlichen Host funktioniert. – DaveRandom
@DaveRandom der vollständige Code ist der gleiche wie in der bereitgestellten Verbindung. – krishna