Zurück   Flashforum > Flash und Server > PHP und MySQL

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-10-2003, 15:45   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Feuchtwangen
Beiträge: 9
Pw geschützter bereich!?

Hi Leute,

so ihr checkt doch php voll ab oda?
also ich will in php einen pw geschützten bereich erstellen, also Username, und Passwort abfragen!
so also, dass des net so a gwerch is, kann man des mitm anmelden vergessen, ich geb die user von hand ein, da ich se ja auch freischalten will!
kann mir da jemand helfen=?

also fass nochmal zamm, die user sollen in einen geschützten bereich können!
..::S-C-F::.. ist offline   Mit Zitat antworten
Alt 13-10-2003, 16:04   #2 (permalink)
.ad
 
Benutzerbild von bobby
 
Registriert seit: Jun 2001
Ort: zürich
Beiträge: 10.731
suchen und finden
suchbegriff: login
__________________
http://www.radiocity.ch
bobby ist offline   Mit Zitat antworten
Alt 13-10-2003, 19:09   #3 (permalink)
schnarchnase
 
Registriert seit: Jan 2002
Ort: konstanz
Beiträge: 2.953
Re: Pw geschützter bereich!?

Zitat:
Geschrieben von ..::S-C-F::..
Hi Leute,

so ihr checkt doch php voll ab oda?
also ich will in php einen pw geschützten bereich erstellen, also Username, und Passwort abfragen!
so also, dass des net so a gwerch is, kann man des mitm anmelden vergessen, ich geb die user von hand ein, da ich se ja auch freischalten will!
kann mir da jemand helfen=?

also fass nochmal zamm, die user sollen in einen geschützten bereich können!

ein einigermaßen sicheres login kostet so ca. 1000 zeilen code - da ist es mit 'kann mir da jemand ein bisschen helfen' leider nicht getan.
such dir ein fertiges skript irgendwo und pass das an.

oder such mal nach .htaccess - damit kannst du einen webordner am einfachsten schützen, ohne programmierung. und wenn du die members eh händisch hinzufügst, ist es das einfachste.
__________________

perlen vor die säue.
rechtschreibfan ist offline   Mit Zitat antworten
Alt 14-10-2003, 10:16   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Feuchtwangen
Beiträge: 9
das prob is nur, dass ih mich mit php net wirklich gut auskenn!
aja es muss auch nich wirklich sicher sein! da nach dem pw nur ein chat und ein internes gb kommt, für die zogger, dass se sich unterhalten können!
..::S-C-F::.. ist offline   Mit Zitat antworten
Alt 14-10-2003, 10:27   #5 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Als erstes erstellst du eine Tabelle, mit mindestens zwei Spalten, eine davon ist der Username, die andere sein Passwort. Beides VARCHAR(50)

Nun musst du nur noch auf jeder deiner Seiten (am besten per include) eine Passwortabfrage machen.

WENN COOKIE VORHANDEN{
UND WENN User kein Passwort eingibt{
DANN PASSWORTABFRAGE
}ELSE{ COOKIE SETZEN
}ELSE{
SEITE ANZEIGEN}
PHP-Code:
<?php
echo $_COOKIE['login'];
echo 
$_POST['nickname'];
echo 
$_POST['pass'];

if(!isset(
$_COOKIE['login'])){
if((empty(
$pass))&&(empty($login))){
echo
"<div align=\"center\">
  <center>
  <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"100%\" id=\"AutoNumber1\" height=\"100%\">
    <tr>
      <td width=\"100%\"><font face=\"Arial\">
      Bitte gib hier deine Daten ein:<p>
      <form method=\"POST\" action=\"\">
       <p>
        Nickname:<input type=\"text\" name=\"nickname\" size=\"10\"><br>Passwort:<input type=\"text\" name=\"pass\" size=\"2\">        <p><input type=\"submit\" value=\"senden\" name=\"Z1\"></p>
        
      </form>
    </font>
      <p>&nbsp;</td>
    </tr>
  </table>
  </center>
</div>"
;
}else{

mysql_connect("localhost","weixelba","aLzveT") or die ("Keine Verbindung moeglich");
mysql_select_db("weixelba_phpbbforum") or die ("Die Datenbank existiert nicht"); 
$nickname $_POST['nickname'];
$query mysql_query("SELECT * FROM `tabelle` WHERE `nickname`='$nickname' ")or die(mysql_error());
while( 
$row mysql_fetch_array($query)){
$db_nickname $row['nickname'];
$db_pass $row['pass'];
$count++;
echo 
$count;
}
if(
$count >= ){
if ( 
$db_pass == $_POST['pass']){
setcookie "login"$db_nicknametime()+60*60*24*14);
echo 
"<a href=\"index.php\">weiter</a>";
echo 
$count;
}else{
echo 
"Acces Denied";
}
}else{echo 
"Acces Denied";echo $count;}}
}else{
echo 
"Hallo ".$_COOKIE['log_in']." du darfst eintreten";
}
Mal jetzt so irgendwie aus dem Stehgreif. Die letzte aller Klammern kommt immer ganz am Schluss deines jeweiligen Seitencodes, der Rest immer ganz am Anfang.
__________________
(\__/)
(='.'=)
(")_(")

Geändert von Nightflyer (14-10-2003 um 11:09 Uhr)
Nightflyer ist offline   Mit Zitat antworten
Alt 14-10-2003, 11:06   #6 (permalink)
webmonkey
 
Registriert seit: Jun 2003
Ort: Berlin, Germany
Beiträge: 127
Talking rtfm

http://php3.de/manual/de/features.http-auth.php

Krass, oder? Da gibt's ein Handbuch und da steht alles drin.

Wenn Du bei Puretec bist, dann laeuft Dein PHP als CGI, fuer diesen Fall:
http://faq.puretec.de/skripte/php/5.html
tillk ist offline   Mit Zitat antworten
Alt 11-12-2003, 22:29   #7 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 88
Habe da mal 1 frage zu dem php auth user.

Ich habe mir auch mal sowas da gebastelt gehabt und funzt ja eigentlich auch super.
Ich habe eine main.php wo der ganze kram enthalten ist. In dieser main.php sind auch verschiedene Links vorhanden. Diese Links sind so angeleg, das sie beim klicken die main.php neu laden mit einer zusätzlichen variable ( <a>href="main.php?modul=userprofil">Profil ändern</a>
In der main.php gibt es dann eine funktion, die überprüft welcher wert da drin steht und die entsprechende Datei Included
PHP-Code:
if(isset($modul)){include('./mod_'.$modul.'.php');} 
So weit erst mal ok und funzt alles super.
Nun ist aber mein Problem, das ich am anfang der Seite eine kleine funktion eingebaut habe die mittloggen soll wenn sich jemand frisch einlogged. Da aber er jedesmal die main.php neu aufruft, loggt er quasi jeden refesh auch mit, was ich eigentlich nicht will.

Die funktion sieht bisher so aus
PHP-Code:
<?
  
include'sql_data.php';
  include
'variablen.php';
  
$login_date=date("d.m.Y H:i:s");
  if(!isset(
$_SERVER['PHP_AUTH_USER'])){
    
header('WWW-Authenticate: Basic realm="G.N.A.D.E "');
    
header('HTTP/1.0 401 Unauthorized');
    echo 
'<FONT COLOR=#FF0000>Sie müssen sich authentifizieren</FONT><BR><BR><B>G.N.A.D.E </B>';
    exit;
  }
  
$SQL_Result mysql_query('SELECT * FROM `gnade_user_db` WHERE UPPER(nick)=UPPER("'.$_SERVER['PHP_AUTH_USER'].'");');
  if (
mysql_num_rows($SQL_Result) != 0) {
    if (
mysql_result($SQL_Result0'pw') == $_SERVER['PHP_AUTH_PW']){
      
$user['ally'] = mysql_result($SQL_Result0'ally');
      
$user['nick'] = mysql_result($SQL_Result0'nick');
      
$user['pw'] = mysql_result($SQL_Result0'pw');
      if(!isset(
$log_status)){
        
$result mysql_query('select * from gnade_user_login order by id desc');
        
$row mysql_fetch_array($result);
        
$id $row['id'];
        
$id++;
        
mysql_query('insert into gnade_user_login(id, name, datum) values ("'.$id.'","'.$user['nick'].'","'.$login_date.'")');
        
$log_status='1';
      }
      if(
$user['status']==0){
          echo 
'<div align="center">Der Zugang zum G.N.A.D.E ist für dich vorübergehend gesperrt<br>
                                  Blockgrund : '
.$user['blockgrundsys'].'';
        exit;
      }
     }
     else{
      echo 
'<FONT COLOR=#FF0000>Falsches Passwort</FONT>';
      exit;
    }
  }
  else{
    echo 
'<FONT COLOR=#FF0000>Falscher Benutzername</FONT><BR><BR>';
    exit;
  }
?>
Das was ich bisher gemacht habe um dies zu unterbinden war einfach noch die Variable log_status immer per link mitzusenden, so dass sie halt immer gesetzt war und er nicht mehr reingesprungen ist.
Nun find ich aber, das dies ziehmlich lästig ist wenn ich das auf 1000 links machen muss.

Nun die frage, wie kann ich das anders machen? Ich will den Weg mit Cookies umgehen


Ich danke im vorraus für eine Antwort

Geändert von Kerwin (11-12-2003 um 22:37 Uhr)
Kerwin ist offline   Mit Zitat antworten
Alt 11-12-2003, 23:15   #8 (permalink)
mein baby
 
Benutzerbild von mal_anders
 
Registriert seit: Jul 2002
Ort: Weimar
Beiträge: 1.443
speicher den log beim ersten mal in ner session und schon weißt du beim nächsten mal, ob er schon da war.
__________________
musse rühre, musse probiere=>iss a pulsgeber !
mal_anders ist offline   Mit Zitat antworten
Alt 11-12-2003, 23:21   #9 (permalink)
mein baby
 
Benutzerbild von mal_anders
 
Registriert seit: Jul 2002
Ort: Weimar
Beiträge: 1.443
@nightflyer: du kriegst bald ne gelbe karte
wo bleibt da der lerneffekt?
wenn ich schon lese
Zitat:
Hi Leute,so ihr checkt doch php voll ab oda?
mann, der kann ja nicht einmal deutsch!

hey nightflyer, ich brauch einen kompletten shop mit artikel-verwaltung, datenabgleich mit lokaler verwaltung, archivierung ausverkaufter artikel, gängige zahlmethoden per SSL und artikeleingaben über webfrontend. das ganze basierend auf php/mysql, kein js.
wie geht das?
__________________
musse rühre, musse probiere=>iss a pulsgeber !
mal_anders ist offline   Mit Zitat antworten
Alt 11-12-2003, 23:29   #10 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Zitat:
Geschrieben von mal_anders
@nightflyer: du kriegst bald ne gelbe karte
wo bleibt da der lerneffekt?
Und deshalb gräbst du einen solch alten Thread aus?
Zitat:

hey nightflyer, ich brauch einen kompletten shop mit artikel-verwaltung, datenabgleich mit lokaler verwaltung, archivierung ausverkaufter artikel, gängige zahlmethoden per SSL und artikeleingaben über webfrontend. das ganze basierend auf php/mysql, kein js.
wie geht das?
Gib mir drei Stunden Zeit
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 12-12-2003, 00:35   #11 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 88
Zitat:
Geschrieben von mal_anders
speicher den log beim ersten mal in ner session und schon weißt du beim nächsten mal, ob er schon da war.
und wie mach ich das?

ist dies das session_destroy, start_session und all dem dazugehörigem zeugs?
Werden die informationen dann im "browser Client" gespeichert? Und benötig man dazu cookies?

Geändert von Kerwin (12-12-2003 um 00:37 Uhr)
Kerwin ist offline   Mit Zitat antworten
Alt 12-12-2003, 12:17   #12 (permalink)
mein baby
 
Benutzerbild von mal_anders
 
Registriert seit: Jul 2002
Ort: Weimar
Beiträge: 1.443
auch für dich nochmal:hier
@nightflyer: das war kerwin.
die drei stunden sind um!
__________________
musse rühre, musse probiere=>iss a pulsgeber !

Geändert von mal_anders (12-12-2003 um 12:18 Uhr)
mal_anders ist offline   Mit Zitat antworten
Alt 12-12-2003, 15:29   #13 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 88
ok, also so ganz hab ich das leider nicht gerafft.

also ich muss ne session_start() machen in jedem falle(ausser das auto ding da), dann wird hinter jedem link noch sone ID mit weitergereicht( PHPSESSID ). Diese nummer ist jedesmal anders wenn ein anderer User sich einloggen sollte. Soweit richtig verstanden?

Nun zum praktischen. Ich habe jetzt in meine log funktion das eingebaut mit session_start() . Und ich bekomme dann auch hinter den links die PHPSESSID zu gesicht, aber nur einmal solange ich nicht irgendwo nen link benutzt habe. Nutze ich irgendeinen link einmal, so ist die session id nicht mehr da. Naja, und das loggin funzt auch noch net so

Ich poste mal die logfunktion

PHP-Code:
      if (!session_start()) {
         
mysql_query('create table gnade_user_login(id float(10), name varchar(255),datum varchar(255))');
         
$i 0;
         
$result mysql_query('select * from gnade_user_login order by id desc');
         
$row mysql_fetch_array($result);
         
$id $row['id'];
         
$id$id+1;
         
mysql_query('insert into gnade_user_login(id, name, datum) values ("'.$id.'","'.$user['nick'].'","'.$login_date.'")');
         
session_start();
      } 
der teil kommt gleich nach dem php auth user was weiter oben im Thread steht.

Kann mir da jemand weiterhelfen zum verständnis?
Kerwin ist offline   Mit Zitat antworten
Alt 12-12-2003, 15:36   #14 (permalink)
mein baby
 
Benutzerbild von mal_anders
 
Registriert seit: Jul 2002
Ort: Weimar
Beiträge: 1.443
so wird das nix. session_start() kommt immer in die erste zeile deiner scripte. dann, wenn du irgndwo bock hats oder das bedürfnis, dann registrierst du in der session ne vari, die dann global verfügbar ist: $_SESSION['meine_vari']=irgendwas;
sorry, hab jetzt keine zeit mehr zu erklären.
__________________
musse rühre, musse probiere=>iss a pulsgeber !
mal_anders ist offline   Mit Zitat antworten
Alt 12-12-2003, 15:51   #15 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 88
ok, habe das session_start in die zweite zeile geschrieben und das $_SESSION['logstatus']=1; in die schleife(unten zu sehen).
Das einzige was mich jetzt irritiert ist, das nun keine ID mehr hinten am link dran ist wie ich es vorhin einmal hatte


PHP-Code:
      if (!isset($_SESSION['logstatus'])) {
         
$i 0;
         
$result mysql_query('select * from gnade_user_login order by id desc');
         
$row mysql_fetch_array($result);
         
$id $row['id'];
         
$id$id+1;
         
mysql_query('insert into gnade_user_login(id, name, datum) values ("'.$id.'","'.$user['nick'].'","'.$login_date.'")');
         
$_SESSION['logstatus']=1;
      } 
hoffe das ist so richtig, nicht das später probs auftreten falls es doch wieder flasch ist.

Auf jeden fall thx für hilfe

Geändert von Kerwin (12-12-2003 um 15:53 Uhr)
Kerwin ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:27 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele