Inital commit
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
/*
|
||||
* security.php enthält Funktionen für Sicherheitsabfragen
|
||||
*/
|
||||
|
||||
/*
|
||||
* Gibt true zurück, wenn der Nutzer die Erlaubnis hat die durch $item
|
||||
* bezeichnete Resource zu öffen, sonst false.
|
||||
* $item enthält den Startverzeichnis-relativen Pfad zur Ressource.
|
||||
*/
|
||||
function itemAccessible($item) {
|
||||
if (isset($_SESSION['gruppen']) & is_array($_SESSION['gruppen'])){
|
||||
|
||||
// superuser aus der Gruppe admin dürfen alles
|
||||
if (in_array('admin', $_SESSION['gruppen'])) return true;
|
||||
|
||||
mysql_connect('localhost', 'dbu1022769', 'fuB0gar7') or die ('Database error: Unable to connect to database.');
|
||||
mysql_select_db('db1022769-php') or die ('Database error: Unable to select database.');
|
||||
$result = mysql_query('SELECT gruppen FROM securepages WHERE pfad="'.$item.'"');
|
||||
if (!$result) {
|
||||
die('Database error: Unable to get user groups for '.$item);
|
||||
}
|
||||
else if (mysql_num_rows($result) > 0) {
|
||||
$erlaubte_gruppen = explode(',',mysql_result($result,0));
|
||||
foreach ($_SESSION['gruppen'] as $gruppe) {
|
||||
if (in_array($gruppe, $erlaubte_gruppen)) return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Generiert einen gesicherten Link. Das Aussehen verändert sich, je nachdem, ob der
|
||||
* Nutzer die Erlaubnis hat, die Seite hinter dem Link aufzurufen, oder nicht.
|
||||
*/
|
||||
function secLink($item, $text) {
|
||||
// relative Links in Startverzeichnis-relative umwandeln
|
||||
if (getHomePath(dirname($_SERVER['SCRIPT_FILENAME'])) != dirname($item)) {
|
||||
$item = getHomePath(dirname($_SERVER['SCRIPT_FILENAME'])).SEPARATOR.$item;
|
||||
}
|
||||
|
||||
if (!itemAccessible($item)) {
|
||||
// return '<a href="'.$item.'" style="color:#666666;" rel="nofollow">'.$text.'</a> <img src="/daten/lock.gif" alt="passwortgeschützt" />';
|
||||
return '<span style="color:#666666;">'.$text.'</span> <img src="/daten/lock.gif" alt="gesichert" />';
|
||||
}
|
||||
return '<a href="'.$item.'">'.$text.'</a>';
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user