Bitte :thumbup
SFTP-Version:
PHP
<?php
session_start();
// Eine neue Session-ID bei jedem Aufruf generieren - nur beim Login geht schlecht,
// da vorher Text ausgegeben wird und ich euch nicht mit OutputStream-Bufferring belästigen möchte
// „false“ bedeutet, alle Variablen nicht löschen.
session_regenerate_id(false);
?>
<html lang="de">
<head>
<meta charset="utf-8" />
<title>Mein UCP</title>
</head>
<body>
<?php
// Einrücken müsst ihr selber :P
if(isset($_SESSION['logedin']) && $_SESSION['logedin'] == true)
{
// Hier ist der Benutzer eingeloggt
$player = parse_ini_file('cache/'. $_POST['username'] .'.ini.cache');
echo'Wilkommen im Controlpanel, '. $_SESSION['username'] .'<br />'; // <- erinnert ihr euch ? Die haben wir bei dem Login gesetzt ;)
echo'Du bist Level '. $player['Level'] .'<br />'; // In der Datei steht "Level=5", dann steht hier "Du bist Level 5"
if($player['ALevel'] >= 1) // Wenn das ALevel ( Godfatherisch für AdminLevel ) größer als 1 ist, das auch ausgeben
echo'Du bist Admin Level '. $player['ALevel'] .'<br />';
}
else
{
// Der Benutzer ist nicht eingeloggt
if(isset($_POST['username']) && isset($_POST['password']))
{
// Das Formular ist abgesendet worden -> verarbeiten
// Verbinden zu dem SSH-Server "127.0.0.1" auf Port 22
$ssh = ssh2_connect("127.0.0.1", 22);
// Einloggen mit dem Benutzer "bla" und dem Passwort "blub"
ssh2_login($ssh, "bla", "blub");
// Erstellen der SFTP-Dings
$sftp = ssh2_sftp($ssh);
// Pfad:
$path = 'ssh2.sftp://'. $sftp .'/scriptfiles/Accounts/'. $_POST['username'] .'.ini';
// Schummeln: Datei erstellen und später prüfen, damit ich nicht viel umschreiben muss :P
if(file_exists($path))
file_put_contents('cache/'. $_POST['username'] .'.ini.cache', file_get_contents($path));
// Alter Code geht weiter
if(file_exists('cache/'. $_POST['username'] .'.ini.cache'))
{
// Der Benutzer existiert - wir lesen seine Datei aus ( die wir gedownloaded haben )
// Dazu nutzen wir parse_ini_file - das geht die Datei zeilenweise durch und macht aus einer Zeile "Key=xxx" folgendes: $array['Key'] = "xxx"
$player = parse_ini_file('cache/'. $_POST['username'] .'.ini.cache');
// Jetzt prüfen wir, ob das Passwort stimmt. WICHTIG: Bei einem GF müsst ihr das PW evtl. verschlüsseln !
if($player['Key'] == $_POST['password'])
{
// Der Benutzer hat sich erfolgreich eingeloggt
echo 'Du hast dich erfolgrecih eingeloggt.';
// Jetzt setzen wir die Session-werte:
$_SESSION['logedin'] = true;
$_SESSION['user'] = $_POST['username'];
}
else
{
// Die Passwörter stimme nicht überein
echo 'Das Passwort ist falsch !';
}
}
else
{
// Der Benutzer existiert nicht
echo 'Der Loginist falsch !';
}
}
else
{
// Das Formular ist nicht abgesendet
echo <<<FORMULAR
<form action="index.php" method="post">
Benutzername:<br />
<input type="text" name="username" /><br />
Passwort:<br />
<input type="password" name="password" /><br />
<input type="submit" value="Absenden" />
</form>
FORMULAR;
}
}
?>
</body>
</html>
Alles anzeigen
e: PHP geclosed ![]()