Paar vraagjes over PhpMyLogon

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 volgende »

13/04/2012 16:42:14
Quote Anchor link
In het 'safe' bestand - dat alleen mensen die ingelogd zijn de content laat zien - staat dit stukje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
if(isset($_SESSION['user_id'])) {
 // Login ok


Ik denk dus dat ik dat stukje ook toe moet voegen aan mijn menu-script..?
 
PHP hulp

PHP hulp

22/12/2024 13:48:38
 
Obelix Idefix

Obelix Idefix

13/04/2012 18:11:42
Quote Anchor link
Lijkt me nog steeds niet de oplossing.

Waar ken je een waarde toe aan $_SESSION('user_id'] / waar maak je die aan?

Alle code die je tot nu toe hebt laten zien is een controle of die sessie bestaat, maar zolang die nergens wordt aangemaakt, zal dat altijd een false opleveren.
 

13/04/2012 18:37:40
Quote Anchor link
Maak ik die niet aan tijdens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
session_start();
?
 
Jeroen VD

Jeroen VD

13/04/2012 18:38:50
Quote Anchor link
nee, nu zet je de sessies alleen maar aan. het maakt het gebruik ervan dus mogelijk. je zult zelf nog alle session variabelen moeten maken
 

13/04/2012 19:00:04
Quote Anchor link
Ik neem aan dat die gewoon in het loginsysteem staan, toch ?
Kan het probleem nergens anders liggen ?
 
Obelix Idefix

Obelix Idefix

13/04/2012 19:09:15
Quote Anchor link
Rainier van Es op 13/04/2012 19:00:04:
Ik neem aan dat die gewoon in het loginsysteem staan, toch ?
Kan het probleem nergens anders liggen ?


Die vraag kunnen wij toch niet beantwoorden? Het is jouw script (althans; jij hebt het ergens vandaan gehaald). Jij kunt er in kijken/controleren/testen. Wij kunnen alleen met de info die jij geeft proberen om te helpen.

Rainier van Es op 10/04/2012 14:52:29:
Ik weet dat het mij niet geadviseerd wordt om dit script te gebruiken, maar omdat ik beginner in PHP ben is het handig om ergens te beginnen!

Als je geen idee hebt waar je mee bezig bent, misschien beginnen met iets anders/makkelijkers? Of ga op zoek naar een tut hierover. Ze zijn er echt.
 

13/04/2012 19:30:11
Quote Anchor link
Stel; die zou ergens staan, en dat met die sessie is allemaal OK, kan het dan nog ergens anders aan liggen?
 
Obelix Idefix

Obelix Idefix

13/04/2012 19:38:09
Quote Anchor link
Rainier van Es op 13/04/2012 19:30:11:
Stel; die zou ergens staan, en dat met die sessie is allemaal OK, kan het dan nog ergens anders aan liggen?

Hoe zo stel? :s
Staat het er/is het met die sessie ok of niet?
Je vraagt nu aan ons om te gaan zitten gokken over andere mogelijke oorzaken, zonder zelf de moeite te willen nemen om te kijken of het wel goed zit met die sessie.

Controleer of iets de oorzaak kan zijn en ga niet eerst op zoek naar mogelijk andere oorzaken.
Als thuis een lamp het niet meer doet, ga je dan ook eerst bellen met je stroomleverancier om te vragen of er mogelijk een stroomstoring is? Dan ga je toch eerst controleren of die lamp stuk is, zo niet, ga je kijken of er een stop uit ligt. Als je hele huis geen stroom meer blijkt te hebben, ga je eens rond kijken of er een stroomstoring in de buurt is.
 

14/04/2012 16:06:51
Quote Anchor link
Ik heb even alles nogmaals bekeken en ja, er word een sessie gemaakt.
 
Kevin van oosterhout

kevin van oosterhout

14/04/2012 16:09:36
Quote Anchor link
probeer or die() te gebruiken die vertellen je de fout, maar een echo van alle variablen om te kijken of ze bestaan.
 

14/04/2012 16:55:56
Quote Anchor link
Bij het opvragen van de fouten krijg ik meteen bij de login al een melding..


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /var/www/vhosts/mywebsite.com/httpdocs/coshaco/secured/login.php:11) in /var/www/vhosts/mywebsite.com/httpdocs/coshaco/secured/config.php on line 5


en

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/vhosts/mywebsite.com/httpdocs/coshaco/secured/login.php:11) in /var/www/vhosts/mywebsite.com/httpdocs/coshaco/secured/config.php on line 5
.

Als ik succesvol ben ingelogd krijg ik deze meldingen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
Notice: Undefined index: cookie in /var/www/vhosts/mywebsite.com/httpdocs/coshaco/secured/login.php on line 109

Notice: Undefined variable: loginsucces in /var/www/vhosts/mywebsite.com/httpdocs/coshaco/secured/login.php on line 125
Gewijzigd op 14/04/2012 16:58:21 door
 
Obelix Idefix

Obelix Idefix

14/04/2012 19:33:27
Quote Anchor link
De foutmeldingen spreken voor zich. Toch...
 

14/04/2012 21:28:00
Quote Anchor link
Ik heb ze allemaal op kunnen lossen m.u.v. deze:
Quote:
Notice: Undefined index: cookie in /var/www/vhosts/rainiervanes.com/httpdocs/coshaco/secured/login.php on line 103


Vanaf lijn 103 staat:

Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php if($_POST['cookie'] == "do") {
       if($cookiepass == "") {
        $cookiecode = mt_srand((double)microtime()*100000);
        while(strlen($cookiecode) <= 10) {
         $i = chr(mt_rand (0,255));
         if(eregi("^[a-z0-9]$", $i)) {
         $cookiecode = $cookiecode.$i;
         }
        }

        $sql = "UPDATE `".$db_tbl."` SET cookie_pass = '".$cookiecode."' WHERE name = '".$_POST['user']."' LIMIT 1";
        mysql_query($sql);
        $cookiepass = $cookiecode;
       }

       setcookie("cookie_id", $userid, time() + 365 * 86400);
       setcookie("cookie_pass", $cookiepass, time() + 365 * 86400);
      }

      ?>


Wat doe ik fout?
 
Obelix Idefix

Obelix Idefix

15/04/2012 07:43:27
Quote Anchor link
cookie bestaat niet.

eregi is verouderd!!

Je query is lek.

Mis foutcontrole.
 

15/04/2012 08:14:59
Quote Anchor link
Is er een manier hoe ik dat op kan lossen?
 
Obelix Idefix

Obelix Idefix

15/04/2012 08:20:26
Quote Anchor link
Korte vraag: kort antwoord: Ja.

Vooruit, korte toelichting:
1) controleren of cookie bestaat
2) vervangen door preg_match
3) input vooraf controleren / beveiliging inbouwen (mysql_real_escape_string)
4) inbouwen (zijn heeeel veel topics over te vinden).
 

15/04/2012 10:36:21
Quote Anchor link
Zou je me iets meer kunnen uitleggen wat je bedoelt en hoe ik het precies kan oplossen?
Het zou me echt een heel stuk verder helpen.

Verder; heeft het inbouwen van de beveiliging met mysql_real_escape_string iets te maken met het werkende krijgen van deze code?

Nogmaals mijn code vanaf regel 103:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
      if($_POST['cookie'] == "true") {
       if($cookiepass == "") {
        $cookiecode = mt_srand((double)microtime()*100000);
        while(strlen($cookiecode) <= 10) {
         $i = chr(mt_rand (0,255));
         if(preg_match("^[a-z0-9]$", $i)) {
         $cookiecode = $cookiecode.$i;
         }
        }
        $sql = "UPDATE `".$db_tbl."` SET cookie_pass = '".$cookiecode."' WHERE name = '".$_POST['user']."' LIMIT 1";
        mysql_query($sql);
        $cookiepass = $cookiecode;
       }
       setcookie("cookie_id", $userid, time() + 365 * 86400);
       setcookie("cookie_pass", $cookiepass, time() + 365 * 86400);
      }
      ?>





Toevoeging op 15/04/2012 15:15:12:

Het probleem met de tekst die moest veranderen bij het inloggen is opgelost (geen idee wat er fout ging..)!

Bedankt allemaal! ;)
Gewijzigd op 15/04/2012 10:37:31 door
 

19/05/2012 10:00:47
Quote Anchor link
Ik wilde alleen even iets bewerken, zodat het niet op Google zou komen te staan.
Gewijzigd op 19/05/2012 10:01:27 door
 
Eddy E

Eddy E

19/05/2012 11:02:19
Quote Anchor link
Regel 1: voet een isset() en !empty() toe
Regel 1: TRUE mag zonder aanhalingstekens, gebruik ===
Regel 3: zo willekeurig is dat niet, omdat de tijd bekend is. Er zijn betere functies voor.
Regel 10: Verwijder de backticks (de `) en gebruik mysql_real_escape_string();

Daarnaast: waar set je $_SESSION['user_id']?
 

19/05/2012 11:17:08
Quote Anchor link
Superbedankt Eddy, ik zal er eens naar kijken! ;-)
 

Pagina: « vorige 1 2 3 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.