[PHP] Beveiliging werkt hier, bij andere niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:48

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Topicstarter
De volgende codes:

config.php

PHP:
1
2
3
4
5
6
7
8
9
10
<?PHP 

$host = "localhost"; 
$db = "forum"; 
$user = "root"; 
$pass = ""; 

mysql_connect($host, $user, $pass); 
mysql_select_db($db); 
?> 


ban.php

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?
include("auth.php"); 
mysql_connect("localhost","root","");
mysql_select_db("forum");

if ($action == "unban")
{
    mysql_query("DELETE FROM banlist WHERE ip='$banip'");
    echo $banip ." is verwijderd uit de banlist";
    echo "<p>Klik <a href='".$PHP_SELF."'>hier</a> om terug te gaan naar de lijst";
}

elseif ($action == "add")
{
    mysql_query("INSERT INTO banlist SET ip='$banip'");
    echo $banip ." is toegevoegd aan de banlist";
    echo "<p>Klik <a href='".$PHP_SELF."'>hier</a> om terug te gaan naar de lijst";
}

else
{
    $sql = mysql_query("SELECT ip FROM banlist");

    while ($row = mysql_fetch_array($sql))
    {
        echo "<p>".$row[0]." - <a href='".$PHP_SELF."?action=unban&banip=".$row[0]."'>Unban dit IP</a>";
    }
?>
<p><form action="<?=$PHP_SELF?>?action=add" method="post">
Voeg een IP toe aan de banlist:
<br><input type="text" name="banip">
<p><input type="submit" value="Bannen!">
</form>
<?
}
?>


auth.php

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?PHP 
function authenticate() { 
    header("WWW-Authenticate: Basic realm=\"-=|V.i.P|=-\""); 
    header("HTTP/1.0 401 Unauthorized"); 
    print("You must enter a valid login username and password 
        to access this resource.\n"); 
    exit; 
    } 
if(!isset($PHP_AUTH_USER)){ authenticate(); } 
else { 
include("config.php"); 
    $q=sprintf("SELECT Username,Password FROM members 
        WHERE Username='%s' AND Password='%s'", 
            $PHP_AUTH_USER,$PHP_AUTH_PW); 
    $q=mysql_query($q); 
    if(mysql_num_rows($q)==0){ authenticate(); } 
} 
?> 


Uitleg:

Ik heb in het admin gedeelte een IP ban functie toegevoegd en werkt perfect :) Nu wil ik het alleen voor moderators beschikbaar maken. Ik kan users toevoegen die toegang moeten krijgen tot ban.php via het admin panel, werkt ook goed :)

Het script wat hier staat werkt bij mij ook. Krijg een scherm waar gevraagd wordt om inlognaam + password. Bij andere gaat het helaas fout en ik begrijp maar niet waar deze fout zit :) Wie kan het voor me testen en me op weg helpen

testlink

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

maakt hij zo niet 2x een connectie met mysql?

Acties:
  • 0 Henk 'm!

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:48

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Topicstarter
Erkens schreef op 20 November 2002 @ 22:59:
maakt hij zo niet 2x een connectie met mysql?
True, maar als je het weghaalt dan krijg je een hoop connection errors

Acties:
  • 0 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
$PHP_AUTH_USER ( ? en $PHP_AUTH_PW ? ) werkt alleen op de module versie van PHP, niet op de CGI versie.

hmm fuk ik zit helemaal niet te lezen...te veel bier gehad
twas maar een gokje

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

We Are Borg schreef op 20 November 2002 @ 23:02:
[...]


True, maar als je het weghaalt dan krijg je een hoop connection errors
mwa denk niet dat het uitmaakt voor jouw probleem ;)
je config.php kunnen laten checken of er connectie is, en deze ook includen in ban.php, ipv daar weer de info neer tezetten.


[edit]
je linkje: (na invoer van zomaar een user+pass)
Warning: Cannot add header information - headers already sent by (output started at d:\program files\easyphp\www\banmods\config.php:11) in d:\program files\easyphp\www\banmods\auth.php on line 3

Warning: Cannot add header information - headers already sent by (output started at d:\program files\easyphp\www\banmods\config.php:11) in d:\program files\easyphp\www\banmods\auth.php on line 4
You must enter a valid login username and password to access this resource.

Acties:
  • 0 Henk 'm!

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:48

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Topicstarter
Erkens schreef op 20 november 2002 @ 23:04:
[...]

mwa denk niet dat het uitmaakt voor jouw probleem ;)
je config.php kunnen laten checken of er connectie is, en deze ook includen in ban.php, ipv daar weer de info neer tezetten.
Denk ook niet dat het een probleem is :)

[quote]
Erkens schreef op 20 november 2002 @ 23:04:
[edit]
je linkje: (na invoer van zomaar een user+pass)


[...]
Je krijgt dus wel een scherm waar je user+pass kan invoeren :) ? En die fout krijg ik dus wanneer ik het test, maar goed, alle andere mensen wel

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

We Are Borg schreef op 20 November 2002 @ 23:05:
Je krijgt dus wel een scherm waar je user+pass kan invoeren :) ? En die fout krijg ik dus wanneer ik het test, maar goed, alle andere mensen wel
yup scherm krijg ik

[edit]

heb het ook ff in mozilla geprobeerd, precies hetzelfde,
ik zie btw in auth.php dat je een " niet ge escaped hebt, zal wel een typo zijn neem ik aan, want anders was php al komen zeiken :P

maar sommige mensen krijgen die box niet?

Acties:
  • 0 Henk 'm!

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:48

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Topicstarter
Erkens schreef op 20 november 2002 @ 23:14:
[...]

yup scherm krijg ik

[edit]

heb het ook ff in mozilla geprobeerd, precies hetzelfde,
ik zie btw in auth.php dat je een " niet ge escaped hebt, zal wel een typo zijn neem ik aan, want anders was php al komen zeiken :P

maar sommige mensen krijgen die box niet?
Name: Testuser
Pass: Testuser

Werkt dat ;) ?

Zoals het daar staat staat het ook hier, wat ben ik vergeten te doen ;) ? Wat moet het zijn :) ?

Heb even alles nagekeken en zoals het nu in de post staat, zijn ook de files

Hmm, wanneer ik inlog krijg ik dus ook die error

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

"You must enter a valid login username and password to access this resource. "
edit:
omg typo in pw van mij 8)7

met juiste pw:
Warning: Cannot add header information - headers already sent by (output started at d:\program files\easyphp\www\banmods\config.php:11) in d:\program files\easyphp\www\banmods\auth.php on line 3

Warning: Cannot add header information - headers already sent by (output started at d:\program files\easyphp\www\banmods\config.php:11) in d:\program files\easyphp\www\banmods\auth.php on line 4
You must enter a valid login username and password to access this resource.

Acties:
  • 0 Henk 'm!

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:48

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Topicstarter
Erkens schreef op 20 November 2002 @ 23:33:
"You must enter a valid login username and password to access this resource. "
Wat is daar fout aan :) ?

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

check n00b edit :/

Acties:
  • 0 Henk 'm!

  • Robinski
  • Registratie: September 2000
  • Laatst online: 12-07 19:39

Robinski

A.K.A. RHarmsen

ik krijg dus geen Login schermpie hoor

10xAXItec AC-265P = 2,650kWp @ SolarEdge SE2200 - PVOutput


Acties:
  • 0 Henk 'm!

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:48

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Topicstarter
LOL :D

PHP:
1
2
    header("WWW-Authenticate: Basic realm=\"-=|V.i.P|=-\"");  
    header("HTTP/1.0 401 Unauthorized");


Daar begint hij na de login over te zeuren en ik snap niet waarom |:(

Acties:
  • 0 Henk 'm!

  • eXtReMeBiE
  • Registratie: Februari 2002
  • Laatst online: 07-09 13:29
$q=sprintf("...", ...);
$q=mysql_query($q);

domme vraag waarschijnlijk hoor, maar kan dit gewoon? ik bedoel, doet ie dan niet
mysql_query(mysql_query(mysql_query(mysql_query(...)))) etc. ?

Acties:
  • 0 Henk 'm!

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:48

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Topicstarter
Robinski schreef op 20 november 2002 @ 23:37:
ik krijg dus geen Login schermpie hoor
was net even wat aan het veranderen, nu weer standaard :)

edit

Ik krijg geen inlog scherm als ik op het linkje klik, maar als ik het in IE copier dan werkt het inlog scherm wel :/

Edit 2

Nu weer geen inlog scherm, bagger zooi :/

  • Harm
  • Registratie: Mei 2002
  • Niet online
Wat ik mij zo afvraag, headers moeten als eerste verzonden worden. Mag er dan wel een Tab vóór staan? Of geldt dit echt alleen maar voor sessions in PHP?

  • finnyhut
  • Registratie: Augustus 2000
  • Laatst online: 14-08 12:11
We Are Borg schreef op 20 november 2002 @ 23:38:
[...]
PHP:
1
2
    header("WWW-Authenticate: Basic realm=\"-=|V.i.P|=-\"");  
    header("HTTP/1.0 401 Unauthorized");

Daar begint hij na de login over te zeuren en ik snap niet waarom |:(
Dit werkt alleen als php als module is gecompileerd, niet als het een cgi processor is....

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Erkens schreef op 20 november 2002 @ 22:59:
maakt hij zo niet 2x een connectie met mysql?

nee, zie manual entry bij mysql_connect, als je het met dezelfde parameters aanroept opent ie geen nieuwe connectie als ie er al een had.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

We Are Borg schreef op 20 november 2002 @ 23:38:
was net even wat aan het veranderen, nu weer standaard :)

edit

Ik krijg geen inlog scherm als ik op het linkje klik, maar als ik het in IE copier dan werkt het inlog scherm wel :/

Edit 2

Nu weer geen inlog scherm, bagger zooi :/

Weet iemand anders een goed script waarbij je meerdere users kan toevoegen aan de list om toegang te krijgen tot dit ban.php :? www.phpfreakz.nl heb ik al nagelopen en daar komt deze ook vandaan

Als je het in een draaiende browser-sessie opent, zal je browser de login-credentials onthouden he?
(dus als je 10x ctrl+n doet in je IE in de 10e je url opent, pass invoert en vervolgens de 10 nieuwe sluit, in je nog openstaande IE opnieuw de url opent, dan heeft ie het alsnog onthouden. Browser-sessies, niet browser-vensters ;) )
eXtReMeBiE schreef op 20 November 2002 @ 23:38:
$q=sprintf("...", ...);
$q=mysql_query($q);

domme vraag waarschijnlijk hoor, maar kan dit gewoon? ik bedoel, doet ie dan niet
mysql_query(mysql_query(mysql_query(mysql_query(...)))) etc. ?
Das idd een domme vraag :P
Hij stopt gewoon het resultaat van mysql_query in $q en dat er toevallig als invoer waarde ook $q gebruikt wordt boeit daar niet voor.
Het is wel erg slordig en je kan nooit bekijken waarom de query fout ging als je achteraf een error ontdekt en dan de query wilt afdrukken. Maar fout is het niet.

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:48

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Topicstarter
ACM schreef op 21 november 2002 @ 01:04:

[...]

Als je het in een draaiende browser-sessie opent, zal je browser de login-credentials onthouden he?
(dus als je 10x ctrl+n doet in je IE in de 10e je url opent, pass invoert en vervolgens de 10 nieuwe sluit, in je nog openstaande IE opnieuw de url opent, dan heeft ie het alsnog onthouden. Browser-sessies, niet browser-vensters ;) )
[...]

Das idd een domme vraag :P
Hij stopt gewoon het resultaat van mysql_query in $q en dat er toevallig als invoer waarde ook $q gebruikt wordt boeit daar niet voor.
Het is wel erg slordig en je kan nooit bekijken waarom de query fout ging als je achteraf een error ontdekt en dan de query wilt afdrukken. Maar fout is het niet.
Domme vragen bestaan niet (hoop ik dan, want ga er misschien eentje stellen :P ).

Ik begrijp je verhaal en meteen weer wat geleerd ;) Alleen snap ik nog steeds niet waarom het fout gaat, waar zit de fout in de code, wat moet er veranderd worden :)

Zou namelijk graag dit script gebruiken, omdat ik nu ook in het admin gedeelte een add members heb in gebouwd. Alleen het script om in te loggen werkt niet ;(

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:48

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Topicstarter
finnyhut schreef op 21 November 2002 @ 00:17:
[...]


Dit werkt alleen als php als module is gecompileerd, niet als het een cgi processor is....
Ik geloof je op je woord ;) Kan je het ook anders doen ?

Verwijderd

je echo'd ook ergens een lege regel, want de errors (can not send header information) beginnen niet op de eerste regel. Controlleer of je ergens voor je <? geen spaties of lege regels hebt staan, die verstoren het sturen van cookies.

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:48

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Topicstarter
Verwijderd schreef op 21 november 2002 @ 08:12:
je echo'd ook ergens een lege regel, want de errors (can not send header information) beginnen niet op de eerste regel. Controlleer of je ergens voor je <? geen spaties of lege regels hebt staan, die verstoren het sturen van cookies.
Ik heb wat spaties weg moeten halen en hier werkt het nu, maar goed, ik weet niet of het bij andere werkt :)

Name: Testuser
Pass: Testuser

  • JeroenE
  • Registratie: Januari 2001
  • Niet online
Ik heb wat spaties weg moeten halen en hier werkt het nu, maar goed, ik weet niet of het bij andere werkt :)
Hier in ieder geval wel. Op dit moment achter een PC met XP Pro (geen SP1), IE6 met alle updates.

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:48

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Topicstarter
jeroene schreef op 21 November 2002 @ 08:34:
[...]
Hier in ieder geval wel. Op dit moment achter een PC met XP Pro (geen SP1), IE6 met alle updates.
Woei :P Dus het was zo simpel, een paar spaties |:( Geweldig, bedankt fladder (en alle andere mensen ;) ) _/-\o_

Ik hou dus alleen nog een klein probleem zie ik net. Het script om users + pass toe te voegen werkt niet goed. Ik kan via het script netjes users toevoegen + password alleen als ik via phpmyadmin kijk in de sql database, dan is er een lege regel toegevoegd. Als ik deze edit met de juiste naam en pass werkt het, maar ik begrijp niet waarom hij het niet goed toevoegd

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
require('main.php');
admin_header();
include("config.php"); 
   if ($submit){ 


   $sql = " INSERT INTO members (username, password) VALUES ('$username', '$password')"; 
   mysql_query ($sql) or die ("Gegevens zijn NIET in het db toegevoegd omwille van een foutje in de invoer."); 
echo "Members added!\n"; 
   } 

?> 
    <html><HEAD><TITLE>Moderator toevoegen</TITLE></HEAD><BODY> 
    <H3>Moderator Toevoegen</H3><Left> 
    <form action="addmembers.php" method="post"> 
    <table cellspacing="0" border="0"> 
    <input type="hidden" name="submit" value="yes"> 
    <tr><td>Username:</td><td><input type="text" name="Username"></td></tr> 
    <tr><td>Password:</td><td><input type="password" name="Password" size="20"></td></tr> 
        <tr><td><font color="#FFFFFF">.</font></td></tr> 
    <tr><td></td><td><input type="submit"VALUE="Toevoegen"></td></tr> 
    <tr><td><font color="#FFFFFF">.</font></td></tr> 
</left></body></html> 
</form>

Verwijderd

Eh hoofdletters in het formulier .. Maar niet bij de variabelen in php ??

  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 14:48

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Topicstarter
Stom van me |:( Okee, bedankt voor alle hulp :)
Pagina: 1