"We are back" « oc.at

homepage +passwort

Shikuza 26.02.2004 - 13:47 3433 45
Posts

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4371
geht nur mit serverseitigen skriptsprachen wie php, perl, java, etc.....

hth

MIK

guvi

OC Addicted
Avatar
Registered: Aug 2001
Location: Bgld.
Posts: 685
ok... PHP unterstützt der server grundsätzlich!

gibts dann dafür ne einfache lösung, ohne dass man gleich ne DB braucht!?

guvi

OC Addicted
Avatar
Registered: Aug 2001
Location: Bgld.
Posts: 685
mal was anderes... ich probier grad mit php rum + mysql-db

das connecten und benutzername überprüfen dürfte funken... aber anscheinend ist in der weiterleitung noch ein fehler, nur i komm net drauf :(

könnte da mal jemand die letzten zeilen checken...



<?
session_start();
?>

<?
include('var.inc.php');
?>


<? if ((!isset($username)) OR (!isset($passwort)))
{
die ("Sorry, aber ohne Name bzw. Passwort geht hier nichts !");
}
?>

<?
$conn = @ mysql_connect($dbserver,$dbuser,$dbpass);
if (!$conn)
{
die ("Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !");
}?>

<? mysql_select_db($dbname,$conn);?>

<?
$query = "SELECT pass, level FROM zugriff WHERE name = '".$username."'";
$result = mysql_query($query,$conn);
?>

<?
$result = mysql_query("SELECT pass, level FROM zugriff WHERE name = '$username'",$conn);
?>

<? $zeileholen = mysql_fetch_array($result,MYSQL_ASSOC);
mysql_close($conn);?>

<? if (!$zeileholen)
{
die ("Sorry, aber dieser Name ist leider nicht bekannt !");
}?>

<?
if ($zeileholen["pass"] <> $passwort)
{
die ("Sorry, aber dieses Passwort passt nicht zum Usernamen !");
}?>

<?
$level = $zeileholen["level"];
?>

<? session_register('username');
session_register('level');?>


<? header ("Location:admin.php");
?>

dio

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 5013
http://at.php.net/manual/en/function.header.php

Zitat
Note: HTTP/1.1 requires an absolute URI as argument to Location: including the scheme, hostname and absolute path, but some clients accept relative URIs. You can usually use $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] and dirname() to make an absolute URI from a relative one yourself:

btw. dein codestil is ned unbedingt zu empfehlen ;)

guvi

OC Addicted
Avatar
Registered: Aug 2001
Location: Bgld.
Posts: 685
Zitat von diokletian
http://at.php.net/manual/en/function.header.php



btw. dein codestil is ned unbedingt zu empfehlen ;)

danke... ach ja... das ist mein 1. php-code.

ist von nem tut :D

mir gehts eigentlich nur darum, dass nur bestimmte leute auf ein paar seiten zugreifen dürfen.

ne tabelle USERS hab ich schon... aber irgendwie haut das mit dem passwort net hin :(

dio

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 5013
Code: PHP
<?php
session_start();
$con = mysql_connect("server", "user", "passwort") or die("fehler");
mysql_select_db("datenbank");
$sql = "SELECT pass, level FROM source WHERE name = '".$name_angegeben."'";
$qúery = mysql_query($sql);
$num = mysql_num_rows($query);
if($num == 1)
{
	$rs = mysql_fetch_array($query);
	if($passwort_eingegeben == $rs['pass'])
	{
		$_SESSION['name'] = $name_angegeben;
		$_SESSION['pass'] = $rs['pass'];
		$_SESSION['level'] = $rs['level'];
		switch($rs['level'])
		{
			case 1: header("Location: [url]http://wwi.at/to/lvl/1/access[/url]");
			break:
			case 2: header("Location: [url]http://wwwi.at/to/lvl/2/access[/url]");
			break;
		}
	}
	else
	{
		echo "passwort falsch";
	}
}
else
{
	echo "username ungütig";
}
?>
is unsicher, aber einfach zu verstehn. bei jeder datei musst, bevor daten ausgegeben werdn, wieder checkn ob der user berechtigt ist, sprich passwort + level abfragen.

edit: damn, der ersetzt ma die urls auch bei <php> :)

btw: http://tut.php-q.net/
Bearbeitet von dio am 25.05.2004, 19:25

guvi

OC Addicted
Avatar
Registered: Aug 2001
Location: Bgld.
Posts: 685
@diokletian

cool, danke!

werd ich mir morgen dann wieder zu gemüte führen. mal schaun ob ich das check.

was mir spontan auffällt, das LEVEL ist net zwingend erforderlich für sowas. hab ich selbst nur aus dem tut übernommen... :(

und wenn ich dann für jede seite wieder überprüfen lassen will, muss der user dann net jedesmal wieder das passwort angeben, oder?

danke

dio

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 5013
nein, zum checken verwendest dann $_SESSION['variable'].

guvi

OC Addicted
Avatar
Registered: Aug 2001
Location: Bgld.
Posts: 685
ok...

nun steh ich aber wieder vor ner schwierigkeit...
so wie es aussieht, MUSS ich in diesem Fall auf eine DB verzichten.

Nun hab ich bisschen rumgegooglt und ein paar kleine php-skripts gefunden. Aber die überprüfen nur einmal, ob das Passwort stimmt. Wenn ich aber eine "interne" Seite direkt-Verlinke, gehts erst wieder.

Nun meine Idee...
-normales Formlular zum checken
-Benutzernamen & Passwörter stehen in einer Textdatei
-Die Unterseiten sollen trotzdem von Direktverlinkung geschützt sein


Fällt hier jemanden spontan etwas ein?

Danke,
Max

Facetious

Addicted
Avatar
Registered: Oct 2003
Location: Wien
Posts: 406
hmm
einfach die usernamen und pwds in die textdatei schreiben und bei der abfrage rauslesen.
wenn er sich richtig eingeloggt hat, dann soll er eine SESSION variable registrieren

auf den unterseiten fragst du dann einfach ab

Code: PHP
if((!session_is_registered('session_name'))||($_SESSION['name'] == ""))
    header("location:login.php");

hth Facetious

guvi

OC Addicted
Avatar
Registered: Aug 2001
Location: Bgld.
Posts: 685
also leute... das mit dem userlogin usw. hab ich jetzt schon geschafft ;)
danke an alle, die geholfen haben!

nun würd mich aber noch was anderes interessieren!?

Wie lautet der PHP-Code, damit ich an beliebigen Stellen der HP bestimmte Daten des eingeloggten Users ausgeben kann?

z.b.
Herzlich willkommen herr XY

oder bei Formularen, die dann schon vorausgefüllt sind mit userdaten wie adressse, tel usw.

vielleicht habt ihr ja noch nen tipp für mich!

fleshmark

GameDev
Avatar
Registered: Aug 2000
Location: Wien
Posts: 2958
naja grundsätzlich kannst das mit cookies machen. cookies sind im prinzip recht simpel, vielleicht hilft dir das tutorial weiter is recht einfach beschrieben.

http://tut.php-q.net

edit: :bash: hab jetzt net so mitgedacht sorry, mit cookies kannst das problem net soo elegant lösen (mit einloggen usw)
aber wennst wo net weiterkommst, kannst dir trotzdem das tut anschaun, is recht praktisch zum einsteigen.

die ganzen daten von dem user, müsstest halt dann auch in einem textfile oder so speichern oder eben doch mit cookies lösen.
Bearbeitet von fleshmark am 27.05.2004, 16:11

guvi

OC Addicted
Avatar
Registered: Aug 2001
Location: Bgld.
Posts: 685
die userdaten hab ich eh in meiner SQL-Datenbank... ;)

Ich bräuchte nur die befehle zum auslesen von einer DB.
habe mich zwar schon auf schattenbaum.net umgesehen, aber irgendwie haut das bei mir net hin :(

evrmnd

OC Addicted
Registered: Nov 2002
Location:
Posts: 3534
Hier ist ein guter htaccess Generator

lg
EVERMIND

guvi

OC Addicted
Avatar
Registered: Aug 2001
Location: Bgld.
Posts: 685
zwar lieb gemeint, aber der hilft mir nicht weiter... ;)

der zugangsschutz geht ja schon. hab ich jetzt mittels php + mysql und sessions gemacht.

mir gings nur darum ganz einfach die userdaten aus meiner sql-db auf der homepage anzuzeigen für spielerein wie:

Herzlich willkommen herr XYZ...
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz