SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Entwicklung und Softwaredesign

PHP Entwicklung und Softwaredesign Hier können strukturelle (Programmier-) Konzepte diskutiert und Projekte vorgestellt werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.11.2010, 09:32:39
Serathil Serathil ist offline
Anfänger
 
Registriert seit: May 2008
Beiträge: 4
Sessions und HTTP Auth

Guten Morgen ,
ich habe eine Homepage auf der sich Benutzer einloggen können um in einen internen Bereich zu gelangen.
Das funktioniert mit Sessions ganz gut.
Das Problem ist nun, dass ich Dateien habe, die nur von bestimmten internen Bneutzern geladen werden dürfen, bzw Ordner in die auf keinen Fall nicht-eingeloggte Leute hineindürfen.
Damit auch Google nicht durch die Ordner läuft habe ich eine .htaccess angelegt, welche die Nutzerdaten aus einer SQL-DB ausliest und denn Nutzer dann zulässt oder nicht.

Mein Problem ist nun, dass die User genervt sind, dass sie sich beim HTAccess noch einmal anmelden müssen.
Nun möchte ich aber auch nicht das gesamte Konzept über den Haufen werfen sondern die Sessions behalten.
Eine Zuweisung der SERVER-Variablen geht ja leider auch nicht und wie ich finde ist nur das htaccess unschön zum einloggen.
Hat jemand von euch da eine Idee?

Lg
Mit Zitat antworten
  #2  
Alt 03.11.2010, 10:00:56
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Sessions und HTTP Auth

Zitat:
Zitat von Serathil Beitrag anzeigen
Hat jemand von euch da eine Idee?
nutze php zur authentifizierung; http-auth ist für komplexere umgebungen - wie du selbst bemerkst - gänzlich ungeeignet. nutze dazu entsprechende module eines php-frameworks, suche nach skripten / tutorials im netz und / oder schreib das ganze selbst zusammen.

cx
Mit Zitat antworten
  #3  
Alt 03.11.2010, 11:12:19
R4Zz0R R4Zz0R ist offline
Junior Member
 
Registriert seit: Sep 2009
Ort: Wetzlar/Kassel
Alter: 35
Beiträge: 201
AW: Sessions und HTTP Auth

Eine empfehlung hätte ich für dich.

-> Das script is frei verfügbar und von einem kollegen von mir geschrieben mit dem ich zusammen bei dem projet arbeite.

http://webdesign.sarkkan.de/moonweb/...nigAufwand.htm

Ziemlich sicher auserdem leicht zu integrieren finde ich.

LG
R4Zz0R
__________________
Wachsen kann man entweder:

Körperlich -> Man wird größer.
^ Ist so von der Evolution gewollt.

Charakter -> Man wird Geduldiger.
^ Man wächst mit der aufgabe

Kopf -> Man wird Klüger.
^ Wenn die aufgabe probleme macht & man trotzdem deine lösung findet.
Mit Zitat antworten
  #4  
Alt 03.11.2010, 12:19:40
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Sessions und HTTP Auth

Zitat:
Zitat von R4Zz0R Beitrag anzeigen
Ziemlich sicher [...] finde ich.
wie kommst du zu dieser einschätzung? ist dein kollege der meinung? hast du selbst ausreichend erfahrung, das zu beurteilen?

anmerkungen zum skript:

Zitat:
Zusätzlich wenden wir noch htmlentities() und trim() [auf] Benutzernamen sowie Passwort an, um gefährliche Zeichen zu maskieren und unnötige Leerzeichen zu entfernen:
das ist unsinn.

1. htmlentities( ) dient zur maskierung besonderer zeichen bei der ausgabe von daten in html. darüber hinaus würde man nicht die originären daten in der db speichern, sondern eine (willkürliche / spezifische) maskierung.

2. um eingabedaten in richtung db zu maskieren, wird mysql_real_escape_string benutzt.

ich kann R4Zz0R's empfehlung leider nicht teilen; das ganze ist nicht ausgereift.

cx
Mit Zitat antworten
  #5  
Alt 03.11.2010, 14:40:54
CPCoder CPCoder ist offline
Anfänger
 
Registriert seit: May 2008
Beiträge: 51
AW: Sessions und HTTP Auth

Ich kann der Empfehlung ebenfalls keine Zustimmung erteilen.

Schon alleine der Loginvorgang wird durchgeführt ohne die übergebenen POST-Parameter zu maskieren und direkt in das SQL-Query einzubinden:

Zitat:
$user = $_POST['loginName'];
$pass = $_POST['loginPass'];

$sql = "SELECT id FROM accounts WHERE
username = '". $user ."' AND
password = '". $pass ."' LIMIT 1;";
Stichwort: SQL-Injection
Mit Zitat antworten
  #6  
Alt 03.11.2010, 15:22:37
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Sessions und HTTP Auth

Zitat:
Zitat von CPCoder Beitrag anzeigen
Schon alleine der Loginvorgang wird durchgeführt ohne die übergebenen POST-Parameter zu maskieren [...]
naja... dazu haben die autoren auch angemerkt:

Zitat:
Dieser Login kann ausgetrickst werden
cx
Mit Zitat antworten
  #7  
Alt 03.11.2010, 23:39:51
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Sessions und HTTP Auth

Hi

Zitat:
Zitat von cortex Beitrag anzeigen
2. um eingabedaten in richtung db zu maskieren, wird mysql_real_escape_string benutzt.

ich kann R4Zz0R's empfehlung leider nicht teilen; das ganze ist nicht ausgereift.

cx
Sehe ich genauso.

Und bitte nicht mehr auf magic_quotes_gpc setzen das is ab 5.3 DEPRECATED.

Daten die nicht in Richtung DB gehen kann man sich easy ne
Funktion schreiben die alle POST, GET usw Daten von nicht
gewünschten befreit und gefährliches maskiert.

Ich persönlich maskiere durch eine solche funktion alles bevor
es meine scripte betritt egal welche ziele sie haben!

mfg

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #8  
Alt 04.11.2010, 00:18:03
R4Zz0R R4Zz0R ist offline
Junior Member
 
Registriert seit: Sep 2009
Ort: Wetzlar/Kassel
Alter: 35
Beiträge: 201
AW: Sessions und HTTP Auth

Zu dem script muss ich anmerken das da vor einiger zeit noch mehr zu dem beitrag stand..
Wurde wohl überarbeitet sorry für den ausrutscher ...

O.T
@ Ckaos:
meinst du etwa sowas wie (pseudocode *sollte aber gehen ;) )

PHP-Code:
<?php
$geta 
array_merge($_GET);
foreach ( 
$geta as $varx => $val )  {
    
$geta[$varx] = preg_replace('/[^a-z0-9 \\/?=&]/Usi','',$val);
}
?>
Was natürlich jetzt meine variante wäre sowas zu lösen. (und was auch auf post anwendbar wäre)
__________________
Wachsen kann man entweder:

Körperlich -> Man wird größer.
^ Ist so von der Evolution gewollt.

Charakter -> Man wird Geduldiger.
^ Man wächst mit der aufgabe

Kopf -> Man wird Klüger.
^ Wenn die aufgabe probleme macht & man trotzdem deine lösung findet.
Mit Zitat antworten
  #9  
Alt 04.11.2010, 02:59:33
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Sessions und HTTP Auth

Hi

so oder ähnlich ;)
PHP-Code:
$outlow=array(";",":","<",">","%","$");
foreach(
$_GET as $key=>$val){
     
$_GET[$key] = str_replace($outlow,"",$val);
}
foreach(
$_POST as $key=>$val){
     
$_POST[$key] = str_replace($outlow,"",$val);

Jedenfalls fing ich so mal an....dann paranoider später / heute
habe ich ne Klasse die je Seite nur vorher per Formularklasse
oder Tempklasse zugelassene/registrierte/Typ bestimmte Daten
prüft und durchlässt andere ignoriert und mir nur zur
Prüfung ablegt. So lassen sich "versuche" relativ schnell
entdecken und im Keim ersticken.

mfg

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #10  
Alt 04.11.2010, 14:54:57
R4Zz0R R4Zz0R ist offline
Junior Member
 
Registriert seit: Sep 2009
Ort: Wetzlar/Kassel
Alter: 35
Beiträge: 201
AW: Sessions und HTTP Auth

Ähhm ... du entfernst die zeichen einfach ... dh. du machst das selbe wie ich mir str_replace
wobei eine regex warscheinlich performanter ist ...

bei post ist es auserdem weniger sinnvoll wenn du alles filterst und gegen nichts ersetzt also in dem fall es aus dem string löschst da der benutzer ja sicher auch gerne zeichen eingeben würde um seinen text zu formatieren oder code auf der seite zu präsentieren ...

da würde ich es dan eher mit mysql_real_escape_string maskieren ( dafür hab ich mir mal ne gute funktion gebastelt :D )

PHP-Code:
<?php
function cleanQuery($array) {
  foreach( 
$array as $varx => $val )  {
    
$array[$varx] = mysql_real_escape_string($val);
  }
  return 
$array;
}
?>
so habe ich immer ein eigenstädiges array was nur für sql querys bereitsteht, und das laut meiner ausgabe ( & sql inject me :) ) auch recht sicher ist.
__________________
Wachsen kann man entweder:

Körperlich -> Man wird größer.
^ Ist so von der Evolution gewollt.

Charakter -> Man wird Geduldiger.
^ Man wächst mit der aufgabe

Kopf -> Man wird Klüger.
^ Wenn die aufgabe probleme macht & man trotzdem deine lösung findet.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Http Request Nano PHP Grundlagen 1 02.04.2007 12:33:43
Verstehe etwas Grundlegendes zu Sessions nicht.... dödel PHP Grundlagen 10 03.01.2007 12:55:55
Sessions - wie geht das? Zonk PHP Grundlagen 5 21.11.2003 18:09:48
Frage zu Sessions Voller17 PHP Grundlagen 1 31.03.2003 14:32:30
Sessions vs Originalkekse | Sicherheitsapsekte Odi PHP Grundlagen 6 29.01.2003 13:04:27


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:59:54 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt