Skocz do zawartości

[Pytanie] Uprawnienia do wyświetlania informacji


jhmp

Rekomendowane odpowiedzi

Witam!

 

Posiadam system logowania rejestracji itd.. zrobiłem też system newsów ale nie wiem jak zrobić aby tylko użytkownik któremu nadam uprawninia do przeczytania danego newsa przeczytał go a ktoś inny bez uprawnień nie mógł tego zrobić. Proszę o dokładne opisanie jak takie coś zrobić.

Dziękuję za pomoc i pozdrawiam!

 

 

 

 

 

 

 

 

Plik wyświetlający newsa:

<?php
session_start();
?>
<?php include('header.php'); ?>
<div class="main">
<?php
include("connect.php");
$query = mysql_query("select * from news where id='".(int)$_GET['id']."'"); 
$rekord = mysql_fetch_array($query);
echo '<h1>'.$rekord[1].'</h1>Autor: '.$rekord[3].'<br/>Data: '.$rekord[2].'<p>'.$rekord[4].'</p>'.'<p>Link do pobrania pluginu:<a href="'. $rekord[5] .'">'. $rekord[5] .'</a></p>';
?>
</div>
<?php include('footer.php'); ?>
Plik dodający newsa:

<?php session_start(); include('header.php'); ?>
<div class="main">
<?php
   if(empty($_COOKIE['islogged']))
   {
     header('Refresh: 2; url=login.php');
     die('<p><i>Aby skorzystać z panelu należy się zalogować!</i></p><p> Za chwilę nastąpi przekierowanie</p>');
   }
   if(isset($_SESSION['nick']) && isset($_SESSION['ip']))
   {
		if(($_SESSION['ranga']) == 'Member'){
			echo '<p>Nie masz uprawnień!</p>';
		} 
		if(($_SESSION['ranga']) == 'Admin'){
		include('connect.php');
			$editor = 'editor1';
			echo'<h1>Dodawanie Pluginu</h1><form action="" method="POST">
				Tytuł: <input type="text" name="tytul"><br/>
				Opis: <script src="ckeditor/ckeditor.js"></script>
				<script> CKEDITOR.replace("'.$editor.'") </script>
				<textarea class="ckeditor" cols="80" id="editor1" name="editor1" rows="10"></textarea><br/>
				Link do pobrania pluginu:<input type="text" name="link"><br/>
				<input type="submit" value="Gotowe!">
				</form>';
				$name = $_POST['tytul'];
				$con = $_POST['editor1'];
				$link = $_POST['link']; 
				$autor = $_SESSION['nick'];
			if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST)) {
				$query = mysql_query("insert into news values('','".$_POST['tytul']."',now(),'".$_SESSION['nick']."','".$_POST['editor1']."', '". $_POST['link'] ."');");
				$usr_perm = mysql_query(";");
				echo'<p>Plugin dodany Poprawnie!</p>';
				 header('Refresh: 2; url=panel.php');
			}
		}
   }
?>
</div>
<?php include('footer.php');?>

Nie pisz że AMD to gówno gdyż w wielku testach wypadło (i wypada nadal) lepiej od Intela

Odnośnik do komentarza
Udostępnij na innych stronach

możesz ustalić dla każdego newsa skale dostępu i będzie mógł go przeczytać tylko użytkownik o większej lub takiej samej wartośći. Można też dla każdego newsa robić tabele i tam robić listę upoważnionych

Wykonuje strony na zlecenie, tematyka dowolna. Szablon moze byc dostarczony przez klienta. Strony da sie podpiac pod gry lub inne skrypty serwisow internetowych. Mozliwa jest integracja z gotowym forum. Wszelkie informacje na priw, lub gg 9332277


Odnośnik do komentarza
Udostępnij na innych stronach

 

if(($_SESSION['ranga']) == 'Admin'){
Pokazywanie newsa
}
else echo 'Nie posiadasz uprawnien do czytania newsow';

to powinno starczy ć

 

chyba nie o to chodziło, lepiej będzie:

if($_SESSION['power'] >= '$newspower'){
Pokaz newsa

}
else 
{
nie pokaz newsa
}

Wykonuje strony na zlecenie, tematyka dowolna. Szablon moze byc dostarczony przez klienta. Strony da sie podpiac pod gry lub inne skrypty serwisow internetowych. Mozliwa jest integracja z gotowym forum. Wszelkie informacje na priw, lub gg 9332277


Odnośnik do komentarza
Udostępnij na innych stronach

 

if(($_SESSION['ranga']) == 'Admin'){
Pokazywanie newsa
}
else echo 'Nie posiadasz uprawnien do czytania newsow';

to powinno starczy ć

 

raczej to wystarczy w zupełności i tak stosuje się w większości amatorskich cms'ach. Podczas rejestracji ustalasz domyślną range czyli "User" a w swoim panelu administracyjnym nadajesz dodatkowe rangi typu administrator, v-admin, moderator itp. Jedni mają ukryte opcje a inni mają dostęp do zaplecza, o którym zwykły user nie ma pojęcia. Po co się bawić w jakąs moc news'a skoro to nie ma sensu. Wystarczy nadać odpowiadnią rangę, sprawdzić ją za pomocą sesji i wsio. Polecam to co napisał właśnie dany użytkownik, wystarczy w zupełności. :)

Odnośnik do komentarza
Udostępnij na innych stronach

Chodziło mi o to, że mój kod można stosować w prawie każdym aspekcie. Nie tylko do newsów, ale również do ustalania dostępu do różnych stron np. panel administracyjny.

Wykonuje strony na zlecenie, tematyka dowolna. Szablon moze byc dostarczony przez klienta. Strony da sie podpiac pod gry lub inne skrypty serwisow internetowych. Mozliwa jest integracja z gotowym forum. Wszelkie informacje na priw, lub gg 9332277


Odnośnik do komentarza
Udostępnij na innych stronach

Ogólnie panel administracyjny czy jakieś operacje i to wszystko jest zabezpieczone kodem :

if(($_SESSION['ranga'] == 'Admin'){

Masz dostęp do tej operacji

}else{

echo 'Brak uprawnień';

}

A co do wyświetlania newsa to myślę że mój problem (częśćiowo) rozwiązał Mich4S

I po jego podpowiedzi mniej więcej już wiem jak zrobię to wszystko ;)

Nie pisz że AMD to gówno gdyż w wielku testach wypadło (i wypada nadal) lepiej od Intela

Odnośnik do komentarza
Udostępnij na innych stronach

Ogólnie panel administracyjny czy jakieś operacje i to wszystko jest zabezpieczone kodem :

if(($_SESSION['ranga'] == 'Admin'){

Masz dostęp do tej operacji

}else{

echo 'Brak uprawnień';

}

A co do wyświetlania newsa to myślę że mój problem (częśćiowo) rozwiązał Mich4S

I po jego podpowiedzi mniej więcej już wiem jak zrobię to wszystko ;)

 

Nie zapomnij dac lajka :D

 

Osobiście sądzę że warunek uprawnień nie powinien być oparty o nazwę rangi, lecz jej właściwości.

 

Wlasnie dlatego zastosowalem system mocy, mozna przypisywac taka rownowaznie z ranga itp.

Wykonuje strony na zlecenie, tematyka dowolna. Szablon moze byc dostarczony przez klienta. Strony da sie podpiac pod gry lub inne skrypty serwisow internetowych. Mozliwa jest integracja z gotowym forum. Wszelkie informacje na priw, lub gg 9332277


Odnośnik do komentarza
Udostępnij na innych stronach

A ja osobiścię sądzę, że lepiej uzyć LEFT/RIGHT JOIN i sprawdzać w jednym zapytaniu do bazy :)

Mozna i tak, ale do tego i tak musisz miec info kto moze zobaczyc tego newsa, wiec Twoja odpowiedz zmienia ewentualnie kod ale nie rozwiazuje problemu zadanego przez @CTRL czy ustawiac dostep na poziomie usera czy rangi

Lepiej jest nie odzywać się wcale i pozwolić ludziom myśleć, że jesteś glupi, niż odezwać się i rozwiać wszelkie wątpliwości.
Mark Twain

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający forum [Pytanie] Uprawnienia do wyświetlania informacji   0 użytkowników
    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...