Beveiliging op php pagina

Status
Niet open voor verdere reacties.

Patron

Gebruiker
Lid geworden
18 feb 2008
Berichten
56
Hoi,

Ik heb een vraagje ik gebruik E107 cms systeem.
Werkt prima trouwens.
Maar ik wil de pm's van gebruikers kunnen lezen om wat controle te houden.
Het staat ook aangegeven dat deze gegevens te lezen zijn bij een moderator.
Het staat in de algemene voorwaarden dus het mag gelezen worden :P

Maar nu heb ik een script gevonden om een mysql tabel te lezen.
Dit werkt prima alleen tja het liefst heb ik dat alleen een site admin het kan lezen.
Dus of het in E107 kan gemaakt worden voor me.

Of als het niet anders kan gewoon dat je een wachtwoord moet invoeren om dat te kunnen lezen.

Dit is het script
PHP:
<html><head><title>Administrator panel [PM READER] </title></head><body>
<?php
$db_host = 'localhost';
$db_user = 'naam';
$db_pwd = 'wachtwoord';

$database = 'database';
$table = 'E107_private_msg';

if (!mysql_connect($db_host, $db_user, $db_pwd))
    die("Geen verbinding!");

if (!mysql_select_db($database))
    die("Geen database gevonden!");

// sending query
$result = mysql_query("SELECT * FROM {$table}");
if (!$result) {
    die("Query to show fields from table failed");
}

$fields_num = mysql_num_fields($result);

echo "<h1>PM's: {$table}</h1>";
echo "<table border='1'><tr>";
// printing table headers
for($i=0; $i<$fields_num; $i++)
{
    $field = mysql_fetch_field($result);
    echo "<td>{$field->name}</td>";
}
echo "</tr>\n";
// printing table rows
while($row = mysql_fetch_row($result))
{
    echo "<tr>";

    // $row is array... foreach( .. ) puts every element
    // of $row to $cell variable
    foreach($row as $cell)
        echo "<td>$cell</td>";

    echo "</tr>\n";
}
mysql_free_result($result);
?>
</body></html>
 
Laatst bewerkt:
Re

Owja en ik heb verder geen verstand van php :P
 
Zou je je titel willen aanpassen zodat deze meer over je probleem zegt.

Kwestie van je SESSIE/COOKIE uitlezen wanneer je ingelogd bent en kijken of daar iets in staat wat duidelijk maakt dat je een admin bent.

Kijk anders wat er gebeurd wanneer je jezelf inlogt (In de bronbestanden dan he) daar staat als het goed is ook welke dingen aangemaakt worden wanneer iemand zich inlogt.
 
Zou je je titel willen aanpassen zodat deze meer over je probleem zegt.

Kwestie van je SESSIE/COOKIE uitlezen wanneer je ingelogd bent en kijken of daar iets in staat wat duidelijk maakt dat je een admin bent.

Kijk anders wat er gebeurd wanneer je jezelf inlogt (In de bronbestanden dan he) daar staat als het goed is ook welke dingen aangemaakt worden wanneer iemand zich inlogt.

Zoals ik al zij ikke niet veel van php af weten daarom vraag ik het hier :P
 
re

De bedoeling van dit forum is dat je het eerst zelf uitzoekt, en als je er echt niet uitkomt hier de vraag steld
 
Zoals ik al zij ikke niet veel van php af weten daarom vraag ik het hier

Dat geeft de indruk dat je niet zelf naar het antwoord hebt gezocht.:confused:
 
als je succesvol ingelogd bent zal hij waarschijnlijk een paar sessies aanmaken. die zullen waarschijnlijk wel in je login.php ofzo staan.

(ik ken het script dat je gebruikt niet)

stel de sessies zijn:

Code:
$_Session['id'] = gebruikersid
en
$_session['ingelogd'] = 1

dan hoef je bovenaan je beveiligde pagina alleen te zetten:

PHP:
if(!isset($_session['id']) || $_session['ingelogd'] != 1) {
die("U heeft geen toegang tot deze pagina. Deze beveiligde pagina is alleen toegangkelijk voor administrators!");
}

groetjes Gijs
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan