Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 20:20

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Brauche dringend hilfe in PHP

Discussion on Brauche dringend hilfe in PHP within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Feb 2012
Posts: 267
Received Thanks: 50
Brauche dringend hilfe in PHP

Hallo liebe Community

Ich brauche dringend hilfe bei einem Script.

Ich benötige ein login für dieses Script.

Es ist soweit fertig, nur leider weiss ich nicht wie ich dazu ein login schreiben soll.

Wenn ein benutzer z.b diese adresse eingibt:

sollte ein login kommen, in dem der Benutzer seine Login daten für die datenbank eingeben muss, und erst dann sollte sich das Iframe öffnen das in dem Script enthalten ist.

Quasi eine UserID zuweisung über das login script.

Ich hoffe es kann mir jemand helfen, ich weiss das es nicht schwer zu machen ist, und nur wenige Minuten dauert, dennoch bin ich nicht in der lage dazu da meine PHP kenntnisse nicht ausreichen

Hier ist der bereits "fast" fertige code, es fehlt wie gesagt nur ein login script.

Wichtig hierbei ist, das dieses Script komplett SQL-injection (Exploit) Sicher ist.

Code:
<?php
date_default_timezone_set('Europe/Berlin');
function ms_escape($data) { //Zu jeder Benutzereingabe hinzufügen!
	if(!isset($data) or empty($data)) return '';
	if(is_numeric($data)) return $data;
	$non_displayables = array(
		'/%0[0-8bcef]/',			// url encoded 00-08, 11, 12, 14, 15
		'/%1[0-9a-f]/',				// url encoded 16-31
		'/[\x00-\x08]/',			// 00-08
		'/\x0b/',					// 11
		'/\x0c/',					// 12
		'/[\x0e-\x1f]/'				// 14-31
	);
	foreach($non_displayables as $regex)
		$data = preg_replace($regex,'',$data);
		$data = str_replace("'","''",$data);
	return $data;
}

if (!$link = mssql_connect('Server-IP', 'Name', 'Passwort'))
	die ('Konnte keine Verbindung zur Datenbank herstellen. Bitte stellen Sie sicher, dass Sie die Login Daten für die Datenbank richtig eingegeben haben.');
	
else {
	$sql		= "SELECT [UserID], [Point] FROM [PS_UserData].[dbo].[Users_Master] WHERE [UserUID] = '$UserUID'";
	$res		= mssql_query($sql);
	$fet		= mssql_fetch_array($res);
	$ucp		= '<div class="ub">Eingeloggt als '.$fet[0].' - Deine AP: '.number_format($fet[1], 0, ',', '.').'</div>
	$UserID		= ms_escape($fet[0]);
	$useruid	= $UserUID;
	$userid		= $UserID;
	if (isset($_SERVER['HTTP_REFERER']))
		$ref    	= $_SERVER['HTTP_REFERER'];
	else
		$ref = '';
	$zeit = time();
				
    
    }
if (isset($UserUID) && $UserUID != false)
	echo '<iframe src="http://wallapi.com/api/ps/?key=372f7c56b14a8d1920f2e07adff9aa62&uid&uid='.$UserUID.'&widget=p1_1" " name="frame1" scrolling="auto" frameborder="no" align="center" height = "1200px" width = "100%"></iframe>';

?>
Ich bin für wirklich jede hilfe Dankbar.
cypherxxl is offline  
Old 09/28/2012, 07:49   #2

 
lanara's Avatar
 
elite*gold: 139
Join Date: Oct 2006
Posts: 12,058
Received Thanks: 24,258
Arrow Off Topic -> Web Development

#moved
lanara is offline  
Thanks
1 User
Old 09/28/2012, 09:31   #3
 
kissein's Avatar
 
elite*gold: 0
Join Date: Sep 2005
Posts: 427
Received Thanks: 87
Hier ein simples http auth via PHP

PHP Code:
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
    
header('WWW-Authenticate: Basic realm="My Realm"');
    
header('HTTP/1.0 401 Unauthorized');
    echo 
'Zugang nicht gestattet';
    exit;
} else {
    
//do stuff
}
?>
kissein is offline  
Old 09/28/2012, 10:14   #4
 
elite*gold: 0
Join Date: Feb 2012
Posts: 267
Received Thanks: 50
Naja, das ist aber kein Login script, wo sich der user anmelden kann um dann eine UserUID zugewisen zu bekommen.

Vestehst du was ich meine?

Dennoch vielen dank für deine mithilfe
cypherxxl is offline  
Old 09/28/2012, 11:20   #5
 
kissein's Avatar
 
elite*gold: 0
Join Date: Sep 2005
Posts: 427
Received Thanks: 87
Überprüfe die Eingabe mit der Abfrage des Users in der DB.
Bei übereinstimmung ne Session starten und die Werte setzen.
Danach einfach immer auf die Sessionwerte überprüfen.

Sofern dass im OP kein Copy&Paste Code ist sollte der Einbau des Prinzips verständlich sein.
kissein is offline  
Old 09/28/2012, 12:09   #6
 
elite*gold: 0
Join Date: Feb 2012
Posts: 267
Received Thanks: 50
Naja, ich hatte oben bereits erwähnt das meine Kenntnisse nicht ausreichend sind.

Ich hatte gehofft, das dies jemand für mich machen kann.

Ich würde auch ein endgeld dafür zahlen.

Grüße.
cypherxxl is offline  
Old 09/30/2012, 05:51   #7
 
elite*gold: 0
Join Date: Feb 2012
Posts: 267
Received Thanks: 50
Kann mir denn niemand helfen?
cypherxxl is offline  
Old 09/30/2012, 08:53   #8
 
elite*gold: 1
Join Date: Aug 2012
Posts: 742
Received Thanks: 85
adde mich mal Skype.
Kann dir helfen verstehe nur net was du meinst.
justBuy is offline  
Old 09/30/2012, 23:12   #9
 
Zettabytes*'s Avatar
 
elite*gold: 1
Join Date: Oct 2011
Posts: 660
Received Thanks: 147
Mach das doch über Sessions.
Geht jemand auf die Homepage wird überprüft ob eine Session vorhanden ist.
Wenn ja, wird der Frame angezeigt, wenn nicht dann das Login.

bsp.

PHP Code:
if(isset($_SESSION['user])
{
     include('
frame.php');
}
else
{
    include('
loginform.php')


So würde ich das Lösen...
Zettabytes* is offline  
Old 10/01/2012, 00:13   #10
 
elite*gold: 0
Join Date: Feb 2012
Posts: 267
Received Thanks: 50
Ich habe da nicht soviel ahnung von, ich brauche jemanden der mir das fertig codet.

Ich versuche es mal besser zu beschreiben.

Es ist nur eine datei.php in dieser datei soll alles drin sein.

Ein user ruft die datei.php auf (nicht eingeloggt)<- Er wird nun dazu aufgefordert sich einzuloggen.

Das login ist ebenfalls in der datei.php:
Code:
if (!$UserUID = session::check());
	
else {
	$sql		= "SELECT [UserID], [Point] FROM [PS_UserData].[dbo].[Users_Master] WHERE [UserUID] = '$UserUID'";
Jetzt gibt der user seine daten ein, und folgendes Iframe wird geöffnet:
Code:
if (isset($UserUID) && $UserUID != false)
	echo '<iframe src="http://wallapi.com/api/ps/?key=372f7c56b14a8d1920f2e07adff9aa62&uid&uid='.$UserUID.'&widget=p1_1" " name="frame1" scrolling="auto" frameborder="no" align="center" height = "1200px" width = "100%"></iframe>';
else
	echo 'Bitte erst einloggen';
Ich bekomme das allein leider nicht hin.

So sieht der Code für die Datenbank aus:
Code:
function ms_escape($data) { //Zu jeder Benutzereingabe hinzufügen!
	if(!isset($data) or empty($data)) return '';
	if(is_numeric($data)) return $data;
	$non_displayables = array(
		'/%0[0-8bcef]/',			// url encoded 00-08, 11, 12, 14, 15
		'/%1[0-9a-f]/',				// url encoded 16-31
		'/[\x00-\x08]/',			// 00-08
		'/\x0b/',					// 11
		'/\x0c/',					// 12
		'/[\x0e-\x1f]/'				// 14-31
	);
	foreach($non_displayables as $regex)
		$data = preg_replace($regex,'',$data);
		$data = str_replace("'","''",$data);
	return $data;
}

if (!$link = mssql_connect('Server_IP', 'Datenbank_Name', 'Passwort'))
	die ('Konnte keine Verbindung zur Datenbank herstellen. Bitte stellen Sie sicher, dass Sie die Login Daten für die Datenbank richtig eingegeben haben.');
cypherxxl is offline  
Old 10/01/2012, 00:15   #11
 
Zettabytes*'s Avatar
 
elite*gold: 1
Join Date: Oct 2011
Posts: 660
Received Thanks: 147
Ja, funktioniert über Sessions.

Schreib mich mal per PN an, kann dir sicherlich helfen.

Edit:

Ich würde es etwas anders machen.
Wie gesagt, würde einfach eine Session machen.

Also ein login Block und der Block mit dem iFrame.

auf Deutsch gesagt:

wenn(Session['benutzer'] == wahr)
{
da ist dann dein iFram
}
wenn falsch
{
zeigt es den Login Block an
}
Zettabytes* is offline  
Old 10/01/2012, 01:05   #12
 
elite*gold: 0
Join Date: Sep 2012
Posts: 33
Received Thanks: 7
Wie Zettabytes schon sagt ist es echt simpel mit einer If/else combo zu lösen !

Code:
if(Session==wahr){
öffne das iframe }else{
ansonsten die Login Form
}
insaneInfinity is offline  
Old 10/01/2012, 13:04   #13
 
elite*gold: 5
Join Date: Jun 2012
Posts: 176
Received Thanks: 214
Ich glaube du suchst das hier xD
Code:
<?php

function ms_escape($data) { //Zu jeder Benutzereingabe hinzufügen!
	if(!isset($data) or empty($data)) return '';
	if(is_numeric($data)) return $data;
	$non_displayables = array(
		'/%0[0-8bcef]/',			// url encoded 00-08, 11, 12, 14, 15
		'/%1[0-9a-f]/',				// url encoded 16-31
		'/[\x00-\x08]/',			// 00-08
		'/\x0b/',					// 11
		'/\x0c/',					// 12
		'/[\x0e-\x1f]/'				// 14-31
	);
	foreach($non_displayables as $regex)
		$data = preg_replace($regex,'',$data);
		$data = str_replace("'","''",$data);
	return $data;
}

$dbhost = '127.0.0.1';
$dbuser = 'Shaiya';
$dbpass = 'Shaiya123';

mssql_connect($dbhost, $dbuser, $dbpass);
session_start();

if (isset($_SESSION['UserUID']))
	echo '<iframe src="http://wallapi.com/api/ps/?key=372f7c56b14a8d1920f2e07adff9aa62&uid&uid='.$_SESSION['UserUID'].'&widget=p1_1" " name="frame1" scrolling="auto" frameborder="no" align="center" height = "1200px" width = "100%"></iframe>';
else if (isset($_POST['login'])) {
	$userid		= ms_escape($_POST['userid']);
	$password	= ms_escape($_POST['password']);
	
	$res = mssql_query("SELECT [UserUID], [UserID], [Point] FROM [PS_UserData].[dbo].[Users_Master] WHERE [UserID] = '".$userid."' AND [Pw] = '".$_POST['password']."'");
	if (mssql_num_rows($res) == 0){
		?>
		<h1>Login erforderlich!</h1>
		<br>
		<font color="red">Kein Benutzer gefunden.</font>
		<br>
		<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
			<table>
				<tr><td>Benutzername: </td><td><input type="text" name="userid" value="Benutzername"></td></tr>
				<tr><td>Passwort: </td><td><input type="password" name="password" value="Passwort"></td></tr>
				<tr><td></td><td><input type="submit" name="login" value="Einloggen"></td></tr>
			</table>
		</form>
		<?php
		exit();
	}
	
	$useruid = mssql_fetch_array($res);
	$_SESSION['UserUID'] = $useruid[0];
	Header("Location: ".$_SERVER['PHP_SELF']);	
} else {
	?>
	<h1>Login erforderlich!</h1>
	<br>
	<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
		<table>
			<tr><td>Benutzername: </td><td><input type="text" name="userid" value="Benutzername"></td></tr>
			<tr><td>Passwort: </td><td><input type="password" name="password" value="Passwort"></td></tr>
			<tr><td></td><td><input type="submit" name="login" value="Einloggen"></td></tr>
		</table>
	</form>
	<?php
}

?>[CODE]
[/CODE]
..Zeus.. is offline  
Thanks
1 User
Old 10/01/2012, 13:13   #14
 
Hiris's Avatar
 
elite*gold: 99
Join Date: Apr 2011
Posts: 730
Received Thanks: 236
PhP-Self ist soweit ich weiß eine große Sicherheitslücke, hat mir mal jemand gesagt, kann aber sein das ich mich täusche^^
Hiris is offline  
Thanks
1 User
Old 10/01/2012, 13:20   #15
 
elite*gold: 5
Join Date: Jun 2012
Posts: 176
Received Thanks: 214
Stimmt. Das habe ich selber noch nicht gewusst, danke PHP_SELF bietet 'ne recht einfache Möglichkeit für XSS.

Hier mit SCRIPT_NAME anstatt von PHP_SELF:

Code:
<?php

function ms_escape($data) { //Zu jeder Benutzereingabe hinzufügen!
	if(!isset($data) or empty($data)) return '';
	if(is_numeric($data)) return $data;
	$non_displayables = array(
		'/%0[0-8bcef]/',			// url encoded 00-08, 11, 12, 14, 15
		'/%1[0-9a-f]/',				// url encoded 16-31
		'/[\x00-\x08]/',			// 00-08
		'/\x0b/',					// 11
		'/\x0c/',					// 12
		'/[\x0e-\x1f]/'				// 14-31
	);
	foreach($non_displayables as $regex)
		$data = preg_replace($regex,'',$data);
		$data = str_replace("'","''",$data);
	return $data;
}

$dbhost = '127.0.0.1';
$dbuser = 'Shaiya';
$dbpass = 'Shaiya123';

mssql_connect($dbhost, $dbuser, $dbpass);
session_start();

if (isset($_SESSION['UserUID']))
	echo '<iframe src="http://wallapi.com/api/ps/?key=372f7c56b14a8d1920f2e07adff9aa62&uid&uid='.$_SESSION['UserUID'].'&widget=p1_1" " name="frame1" scrolling="auto" frameborder="no" align="center" height = "1200px" width = "100%"></iframe>';
else if (isset($_POST['login'])) {
	$userid		= ms_escape($_POST['userid']);
	$password	= ms_escape($_POST['password']);
	
	$res = mssql_query("SELECT [UserUID], [UserID], [Point] FROM [PS_UserData].[dbo].[Users_Master] WHERE [UserID] = '".$userid."' AND [Pw] = '".$_POST['password']."'");
	if (mssql_num_rows($res) == 0){
		?>
		<h1>Login erforderlich!</h1>
		<br>
		<font color="red">Kein Benutzer gefunden.</font>
		<br>
		<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
			<table>
				<tr><td>Benutzername: </td><td><input type="text" name="userid" value="Benutzername"></td></tr>
				<tr><td>Passwort: </td><td><input type="password" name="password" value="Passwort"></td></tr>
				<tr><td></td><td><input type="submit" name="login" value="Einloggen"></td></tr>
			</table>
		</form>
		<?php
		exit();
	}
	
	$useruid = mssql_fetch_array($res);
	$_SESSION['UserUID'] = $useruid[0];
	Header("Location: ".$_SERVER['SCRIPT_NAME']);	
} else {
	?>
	<h1>Login erforderlich!</h1>
	<br>
	<form action="<?php echo $_SERVER['SCRIPT_NAME'];?>" method="POST">
		<table>
			<tr><td>Benutzername: </td><td><input type="text" name="userid" value="Benutzername"></td></tr>
			<tr><td>Passwort: </td><td><input type="password" name="password" value="Passwort"></td></tr>
			<tr><td></td><td><input type="submit" name="login" value="Einloggen"></td></tr>
		</table>
	</form>
	<?php
}

?>
..Zeus.. is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[RL - HILFE] Leute ich brauche dringend eure hilfe :/
06/14/2012 - Main - 2 Replies
Hej liebe Community! Seit ein paar Tagen date ich 3 Mädels... (DAS IST MEIN VÖLLIGER ERNST!) Die 3 sehen schon heiß aus, aber das Problem liegt darin, dass alle 3 auf mich abfahren... Ich weiß nicht, was ich machen soll & ein Arschloch bin ich ja auch nicht! Ich lag mit allen 3 schon in der Kiste & fühle mich gerade wie der größte Stecher Berlin's... Ist eigentlich ganz cool, aber wie Carlos will ich nicht enden!!!! :rtfm:
Brauche dringend und zwar wirklich dringend eure Hilfe
09/18/2011 - Metin2 Private Server - 0 Replies
Bei mir auf dem Rootserver verlieren alle Teamler nach wenigen Minuten die GM Rechte, das war gestern noch nicht so... Woran könnte das liegen und wie beheben? Hoffe auf schnelle antwort Wäre mir sogar 10 e*Gold wert für eine Hilfestellung die funktioniert.
Brauche Dringend Hilfe! Bin Metin spieler aber Brauche Hilfe
12/30/2009 - Metin2 Private Server - 0 Replies
Es gehört hier zwar nicht rein , aber ich weiß keine andere Lösung Ich habe seit einigen Tagen ein Problem... Microsoft Windows Search Protocol Host funktioniert nicht mehr Die Anwendung wird Aufgrund eines Problems nicht mehr richtig Ausgeführt. Ich weiß nicht was das ist und wie ich es loswerde.



All times are GMT +1. The time now is 20:21.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.