Zitat von
Ldi91
Ich bin gerade dabei ein webbasierendes Kunden-Login zu Programmieren.....
EDIT:
Wie kann ich ein komplett php basierendes HTTP-Auth-System programmieren?
Eigentlich Relativ Einfach in dem du die Header Funktionen nutzt.
Wobei .htaccess, .htdigest und SSL ganz klar die Sicheren Methoden sind.
Ausschnitt eines meiner Scripte für eine C++/PHP Schnittstelle an PORT 80.
PHP-Code:
if ( isset( $_SERVER['PHP_AUTH_USER'] ) && isset( $_SERVER['PHP_AUTH_PW'] )
&& $_SERVER['PHP_AUTH_USER'] == "qspokecalc"
&& $_SERVER['PHP_AUTH_PW'] == getLoginPassword($_SERVER['PHP_AUTH_PW'] ) ) {
### SCHNIPP ###
} else if ( isset( $_POST['SERVER_QUERY'] ) && (int)$_POST['SERVER_QUERY'] == 2
&& isset( $_POST['ID'] ) && isset( $_POST['TYPE'] ) ) {
### SCHNIPP ###
} else {
header( "HTTP/1.0 400 Bad request" );
header( "Content-Type: text/xml; charset=utf-8" );
print PrintXmlMessage( "Bad request!" );
flush();
exit(1);
}
} else {
header( 'WWW-Authenticate: Basic realm="Spokecalc Database"');
header( "HTTP/1.0 401 Unauthorized" );
header( "Content-Type: text/xml; charset=utf-8" );
print PrintXmlMessage( "Permission denied!" );
flush();
exit(1);
}
if ( ! headers_sent() && ! empty( $XML ) && ereg( 'xml', $XML ) )
{
DebugToLog( $XML );
$Length = strlen( $XML );
header( "Content-Type: text/xml; charset=utf-8" );
header( "Content-Language: en" );
header( "Content-Location: http://" . $_SERVER['HTTP_HOST'] );
header( "Host:" . $_SERVER['HTTP_HOST'] );
header( "Accept-Charset: utf-8" );
header( "Content-MD5: " . md5( $XML ) );
header( "Content-Range: bytes " . decbin( $Length ) );
header( "Content-Length: " . $Length );
print $XML;
} else
$XML = null;
if ( isset( $GLOBALS['CON'] ) || is_object( $GLOBALS['CON'] ) )
mysqli_close( $GLOBALS['CON'] );
Lesezeichen