PHP Leugen?

Status
Niet open voor verdere reacties.

ginojo

Gebruiker
Lid geworden
7 sep 2010
Berichten
912
Hallo allemaal

Ik liep pas met mijn vriend door de stad en k was wat over mijn website aan het praten en hij is altijd jaloers geweest en ik vertelde hemvdus over een script waarbij het wachtwoord in de bron tussen <?php enz stond en dat hij dus niet kon zien. Maar hij zei dus dat hij dat wel kon. Toen ik door ging vragen over hoe dat kon zei hij dat hij dat met een programmatje kon. Is dit echt mogelijk of is ie weer eens aan het liegen... denk liegen, maar toch...

Ginojo
 
PHP kan je niet jatten, tenzij je de FTP server kraakt, en hiermee de files opent..
als je het PHP script kon inzien zou iedereen google na kunnen bouwen, en of wat dan ook...

ook met programma's is dit niet te zien..
dus wees gerust... :)

Mvg,
 
Ligt er aan hoe het script werkt... als ik jou was zou ik de bron eens bekijken. Als jij het niet kan zien, kan hij het ook niet.

Over het algemeen is PHP veilig, maar je kunt er ook onveilige dingen mee doen, dus als je twijfelt altijd zelf even kijken ;)
 
Tenzij je de server laat crashen en de PHP-code niet meer wordt geparsed.
Dan spuwt de webserver gewoon de ruwe code uit en is de inhoud zichtbaar.

Daarom is het veiliger om wachtwoorden buiten de web-root (indien mogelijk) te zetten.
 
Met kennis van het script moet het ook wel lukken.
Maar stel je gebruikt een object dan zie je enkel


PHP:
if($user->islogin())
of
PHP:
$user->login($password)
en je laat op dat momment geen kennis meer zien.
omdat een leeg object je niet wijzer maakt omdat die voor elke user dient te gebruiken en bijgevolg van geen wachtwoorden weet.
 
PHP is niet te zien in de broncode zolang php wordt geparsed... Zolang je je server niet loopt te verprutsen is het dus safe ;)
 
PHP is niet te zien in de broncode zolang php wordt geparsed... Zolang je je server niet loopt te verprutsen is het dus safe ;)

Ik heb een cursus met meerdere voorbeelden van denkfouten het origineel stond op eprogrammeurs maar het forum is niet meer bereikbaar dus moet ik de eigenaar schuldig blijven. Maar weet dat je op veel moet letten om een login te beschermen.
En hulp van ervaren mensen is aangewezen op dat punt.

PHP:
 1  // login.php
 2  if ($user == 'Sijmen' && $pass == 'secret')
 3  $auth = true;
 4  if ($auth)
 5  readfile('/home/sijmen/passwords.txt'); // belangrijk bestand
 6  else
 7  print 'login form';
Door dit bestand als volgt aan te roepen, omzeil ik de login:
login.php?auth=1
Als je error reporting op E_ALL zet, dan zal je de eerste keer als je het script aanroept de volgende
error krijgen:
Undefined variable: auth in /home/sijmen/public_html/script.php on line 5
Deze foutmelding zegt dat de variabele 'auth' niet gezet is (en dus als register_globals aanstaat,
in de URL balk kan worden ingevuld ?auth=1). Een correcter script zou zijn:
PHP:
 8  // login.php
 9  $auth = false;
 10  if ($user == 'Sijmen' && $pass == 'secret')
 11  $auth = true;
 12  if ($auth)
 13  readfile('/home/sijmen/passwords.txt'); // belangrijk bestand
 14  else
 15  print 'login form';
 
Zelf denk ik dat register_globals op bijna alle webhosts standaard uitstaat, want het is simpelweg gewoon niet veilig ;)

Ik zie weer een nieuwe en leuke programmeerstijl: geen { en } bij de if en else structuur :o
Jammer genoeg haat ik structuren zonder brackets...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan