[php] simpele beveiliging voor online cpanel

Status
Niet open voor verdere reacties.

RMS123

Gebruiker
Lid geworden
15 nov 2009
Berichten
873
Hallo,

Ik heb voor mijn site een online cpanel gemaakt.
Deze is nu voor iedereen beschikbaar, niet erg handig dus :/

Wat is de makkelijkste manier om dit te beveiligen?
Je moet er van uit gaan, dat het cpanel via de GET functie verschillende keren achter elkaar kan worden opgeroepen, en dan moet natuurlijk niet elke keer weer om een wachtwoord worden gevraagd.

Ik gebruik liever niet het ftp wachtwoord. (dus dmv chmoden beveiligen)

Ik neem toch aan dat er vast wel een kant-en-klaar scriptje hiervoor is?

Alvast bedankt!
 
Een inlogpagina bouwen.
Bij elke pagina controleren of je bent ingelogd ja of nee.
zo niet stuur je ze naar de inlogpagina zo wel dan mag je de pagina's zien.
 
Ja, dat had ik ook al verzonnen.
Een inlogpagina maken lukt me wel, maar het onthouden dat je ingelogd ben en het controleren lukt voor geen meter!
 
mijn inlogfile set de cookie:

<?PHP
if($_POST['naam'] == 'name' && $_POST['pass'] == 'pass'){
$Month = 2592000 + time();
setcookie(inlog, $_SERVER['REMOTE_ADDR'], $Month);
echo "Loging in at: ".$_COOKIE['inlog'];
header('Location: ../');
} else {
echo 'Incorrect pass';
}
?>

en mijn index.php begint met:

<?PHP
if(!isset($_COOKIE['inlog'])) {
header('Location: logon');
}

Wat is er dan fout???????
 
Het makkelijkste is om met sessies te gaan werken.

Dus zodra het inlogformulier verstuurd wordt controleer je in de database of de gegevens correct zijn.
als dit zo is dan defineer je een $_SESSION[''] (wel helemaal bovenaan de pagina session_start(); plaatsen).

om te controleren of iemand dan is ingelogd kan je iets gebruiken al.
PHP:
if(isset($_SESSION['username']))
{
    echo 'Je bent ingelogd';
}
else
{
    header('Location: /login');
}
 
als ik:
PHP:
if(isset($_SESSION['inlog'])) {
    echo "
		<div style='width: 100%; height: 20px; margin: -10px; background-color:#FFF7B0;'>
		Je bent nu ingelogd</div>";
} else {
    header('Location: /login');
}
bovenaan index.php zet, dan blokkeert m'n webhost de pagina :S
kan het zijn dat 000webhost dat blokkeert?

EDIT:
ben ff dit aan het proberen nu:
http://www.developertutorials.com/tutorials/php/php-sessions-login-script-050620-1094/
 
Laatst bewerkt:
Ik denk dat de webhost dat blokkeert, is er een andere optie zonder session?
 
Haha je kan het niet letterlijk zo er neer zetten was slechts een voorbeeld.
/login bestaat niet want deze moet worden aangemaakt met .htacces anders linkt ie niet goed door en de session bestaat niet en wordt ook niet geopend.
00webhost blokkeert het volgens mij niet.

De code in die tutorial is heel erg verouderd, weet niet welke php je host heeft maar denk niet dat dit nog werkt in PHP 5.
 
Ik heb mijn eigen OOP login geschreven omdat ik nooit goede tutorials kon vinden die aan de code van vandaag voldoen, ze waren allemaal al erg oud.
als /login zie jij nu denk ik als map, is een optie, niet optimaal.

Die tutorial ziet er in ieder geval al een stuk beter uit/.
 
Het is gelukt!

Uiteindelijk met cookies gewerkt!
 
Is het inloggen alleen voor jezelf?
Anders raadt ik het gebruik van cookies af tenzij je dit combineert met sessions.

Een cookie kan namelijk door de gebruiker geblokkeerd zijn waardoor de hele login functie niet meer werkt.
Cookies zou ik eigenlijk in dat opzicht alleen gebruiken als de gebruiker aangeeft ingelogd te willen blijven, zo niet sessies gebruiken.

Zo kan iedereen inloggen ook als ze cookies hebben gebruikt.


Vat dit trouwens niet negatief op!, Vind het tof dat je het werkend hebt, maar uiteraard wil je zelf ook zo veel mogelijk leren als je toch bezig bent =)!
 
Voor mij en m'n opa, dat komt wel goed ;)
wat ik me alleen alleen afvraag, volgens mij hoef je niet eens te kunnen hacken, alleen notepad te gebruiken om mijn site te hacken :( (gewoon een cookie maken en klaar is kees)

Ik heb nog wel een tip voor als iets niet helemaal soepel loopt, zoals ik nu had, je kunt met sleep() het script even op pauze zetten. (het is een beetje amateur oplossing, dat wel)
Volgens mij is de theorie hierachter, dat de pc de tijd heeft om bijv. een cookie te schrijven, want in IE doet die het wel, en in Chrome niet(ik moet daar 2 keer achter elkaar inloggen), miss. werken die browsers op een andere manier met cookies.
 
Hmm dat probleem ken ik nog niet.

Echter heb je hem dan niet goed beveiligd,

Nadat je controleerd of de cookie bestaat.
Ga je uiteraard wel eerst controleren of de gegevens in die cookie (username en password) overeenkomen met gebruikers in je database.
 
yep I know.

Maar zo goed hoeft de beveiliging niet te zien, er staan geen waardevolle dingen achter, en iemand die echt meent ergens binnen moeten te komen, komt ook in de servers van de CIA ;)

Je kunt wel ff kijken of je hier zo binnenwandelt:
<ff verwijderd :p>
dat binnenwandelen valt volgens mij wel mee, je hebt al flink kwade bedoelingen als het je lukt om hier langs te komen.

De beveiliging dient meer als tuinhekje, niet als kluisdeur :p
 
Laatst bewerkt:
Kom er sowieso niet in omdat ik niet kan hacken, kan dus ook niet achterhalen hoe jou cookies heetten etc ;)
 
"hacken" is een groot woord:
Als jij in de save-game van een spelletje een paar 9tjes toevoegt, is dat ook al hacken...
 
Het is maar hoe je het bekijkt: je bent ook een "crimineel" als je door rood licht rijd :p of heb je dan gewoon niet op tijd geremd? :D

EDIT: savegames vallen niet onder modden ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan