Pagina 1 din 1
Acces restrictionat la pagini din site
Scris: Sâm Iul 30, 2011
de bvlucretiu
Am un site pe care urmează să-l încarc într-un hosting și am anumiti parteneri care ar trebui să aibă acces numai la o parte a siteului cea care îi reprezinta pe ei pentru actualizarea datelor lor.
Cum ar trebui să procedez să aibă acces printr-un user și o parolă doar la datele lor; există vreo posibilitate în hosting prin cpanel să se restrângă accesul doar la anumite fișiere, sau există ceva script prin care să-i permit unui anumit utilizator să modifice doar ceea ce îl priveste pe el în acea pagină?
Acces restrictionat la pagini din site
Scris: Sâm Iul 30, 2011
de MarPlo
Se poate cu un script de inregistrare.
Dai sa aiba access la acele pagini doar daca utilizatorul e logat, iar numele lui (retinut in Sesiune) e in adresa URL a acelor pagini.
Ex.:
http://site.web/index.php?id=idpag&user=unNume
Apoi, in scriptul php:
if($_SESSIONN['nume']==$_GET['user']) { // afiseaza acea pagina }
Acces restrictionat la pagini din site
Scris: Sâm Iul 30, 2011
de bvlucretiu
MarPlo scrie:
Apoi, in scriptul php:
if($_SESSIONN['nume']==$_GET['user']) { // afiseaza acea pagina }
la $_GET[user] introduc numele utilizatorului ?
Acces restrictionat la pagini din site
Scris: Sâm Iul 30, 2011
de bvlucretiu
[quote="MarPlo"iar numele lui (retinut in Sesiune) e in adresa URL a acelor pagini.
[/quote]
cum se retine numele;
eu vreau doar un singur user să aiba acces la acea pagină pentru a o modifica, nu toti utilizatorii logați?
Unde se reține numele lui în Sesiune, căci nu prea înțeleg.
Îmi cer scuze!
Acces restrictionat la pagini din site
Scris: Dum Iul 31, 2011
de trif
salut, am si eu o mica problema, am facut o bd cu rang-uri si acum vreau sa ii restrictionez. am in felul urmator rangul 1 administrator, rangul 2 moderator, rangul 3 utilizator, si am doar restrictionare doar pt utilizatori
Cod: Selectaţi tot
<?php
//Start session
session_start();
//Check whether the session variable SESS_MEMBER_ID is present or not
if(!isset($_SESSION['utilizator']) || (trim($_SESSION['utilizator']) == '')) {
header("location: autentificare.php");
exit();
}
?>
ca daca este autentificat sa il lase iar daca nu sa il trimita la autentificare.php. dar aici vine problema, eu am diverse pagini care utilizatorul nu vreau sa o poata accesa ci doar administratorul sau moderatorul iar mai sunt alte pagini care vreau ca doar administratorul sa le acceseze nu si utilizatorul sau moderatorul. cum modific codul de sus ca in functie de rang sa ma lase sa accesez paginile permise la fiecare rang in parte sau daca este alta solutie. de exemplu va dau un exemplu cum am facut ca in functie de rang sa imi afiseze doar meniurile permise de fiecare rang,
Cod: Selectaţi tot
<?php
$q_SQL="SELECT * FROM utilizatori limit 1";
$rezultat_q=mysql_query($q_SQL);
$numar=mysql_num_rows($rezultat_q);
$y=0;
while ($y < $numar) {
$row=mysql_fetch_array($rezultat_q);
// Cod de test afisare un continut pt. cei autentificati si altul pt. vizitatori
if(isset($_SESSION['utilizator']) && $row['rang'] == 1 ) {
echo '<a href="Pagina mea.php">Pagina mea</a><br> <a href="adaugare_cantare.php">Adauga Cantare</a> <br> <a href="aprobare_cantare.php">Aprobare Cantare</a><br> <a href="utilizatori.php">Utilizatori</a><br> <a href="rang_utilizatori.php">RANG Utilizatori</a><br> <a onclick="return confirm (' . $confirm_message_iesire . ');" href="iesire.php">IESIRE</a> ';
}
elseif(isset($_SESSION['utilizator']) && $row['rang'] == 2 ) {
echo '<a href="Pagina mea.php">Pagina mea</a><br> <a href="adaugare_cantare.php">Adauga Cantare</a> <br> <a href="utilizatori.php">Utilizatori</a><br> <a onclick="return confirm (' . $confirm_message_iesire . ');" href="iesire.php">IESIRE</a> ';
}
elseif(isset($_SESSION['utilizator']) && $row['rang'] == 3 ) {
echo '<a href="Pagina mea.php">Pagina mea</a><br> <a href="adaugare_cantare.php">Adauga Cantare</a> <br> <a onclick="return confirm (' . $confirm_message_iesire . ');" href="iesire.php">IESIRE</a> ';
}
else {
echo '';
}
++$y;
}
?>
cam asta sunt, rog sa ma ajutati o o varianta cat mai buna pt securitatea site-urilor. sper ca ati inteles, va multumesc anticipat, cu stima trif
Acces restrictionat la pagini din site
Scris: Lun Aug 01, 2011
de trif
salut, ma poate ajuta cineva? macar cu ceva sfaturi, va rog. cu stima trif
Acces restrictionat la pagini din site
Scris: Lun Aug 01, 2011
de claUdiu
Pentru a nu intra un viiztator pe paginile de administrare poti sa faci asa:
Cod: Selectaţi tot
<?
if (!session_is_registered(nume)){
header ("location" login.php");
}
?>
Iar...pentru ranguri eu fac asa:
Fac un if in care selectez sesiunea si numarul rangului care il are acel user...si akl pun:
Cod: Selectaţi tot
if ($nume == 2)
echo "Bine ai venit administrator";
}
Si de aici poti sa faci cu e lseif
Ideea esta ca e ufac un meniu pentru fiecare....si...nah..Fiecare are meniul lui:)
Sper ca te0am putut ajuta!
Acces restrictionat la pagini din site
Scris: Mar Aug 02, 2011
de calynutz_baciu
Asta m-a ajutat pe mine o vreme si o sa te ajute si pe tine:
Cod: Selectaţi tot
<? $LOGIN_INFORMATION = array(
'user' => 'password' // aici definesti user-ul si parola intre ' '
);
// request login? true - show login and password boxes, false - password box only
define('USE_USERNAME', true);
// User will be redirected to this page after logout
define('LOGOUT_URL', 'http://www.rlinklogout.ro/'); //link-ul de logout
// time out after NN minutes of inactivity. Set to 0 to not timeout
define('TIMEOUT_MINUTES', 15); // timpul dupa care te scoate de pe pagina daca nu exista activitate
// This parameter is only useful when TIMEOUT_MINUTES is not zero
// true - timeout time from last activity, false - timeout time from login
define('TIMEOUT_CHECK_ACTIVITY', true);
##################################################################
# SETTINGS END
##################################################################
///////////////////////////////////////////////////////
// do not change code below - nu schimba nimic mai jos!!!
///////////////////////////////////////////////////////
// show usage example
if(isset($_GET['help'])) {
die('Include following code into every page you would like to protect, at the very beginning (first line):<br><?php include("' . str_replace('\\','\\\\',__FILE__) . '"); ?>');
}
// timeout in seconds
$timeout = (TIMEOUT_MINUTES == 0 ? 0 : time() + TIMEOUT_MINUTES * 43200);
// logout?
if(isset($_GET['logout'])) {
setcookie("verify", '', $timeout, '/'); // clear password;
header('Location: ' . LOGOUT_URL);
exit();
}
if(!function_exists('showLoginPasswordProtect')) {
// show login form
function showLoginPasswordProtect($error_msg) {
?>
<html>
<head>
<title>Please enter password to access this page</title>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
</head>
<body>
<style>
input { border: 1px solid black; }
</style>
<div align="center">
<div style="width:500px; margin-left:auto; margin-right:auto; text-align:center">
<form method="post">
<h3>Please enter password to access this page</h3>
<font color="red"><?php echo $error_msg; ?></font><br />
<?php if (USE_USERNAME) echo 'Login:<br /><input type="input" name="access_login" /><br />Password:<br />'; ?>
<input type="password" name="access_password" /><p></p><input type="submit" name="Submit" value="Submit" />
</form>
<br />
</div>
</div>
</body>
</html>
<?php
// stop at this point
die();
}
}
// user provided password
if (isset($_POST['access_password'])) {
$login = isset($_POST['access_login']) ? $_POST['access_login'] : '';
$pass = $_POST['access_password'];
if (!USE_USERNAME && !in_array($pass, $LOGIN_INFORMATION)
|| (USE_USERNAME && ( !array_key_exists($login, $LOGIN_INFORMATION) || $LOGIN_INFORMATION[$login] != $pass ) )
) {
showLoginPasswordProtect("Incorrect password.");
}
else {
// set cookie if password was validated
setcookie("verify", md5($login.'%'.$pass), $timeout, '/');
// Some programs (like Form1 Bilder) check $_POST array to see if parameters passed
// So need to clear password protector variables
unset($_POST['access_login']);
unset($_POST['access_password']);
unset($_POST['Submit']);
}
}
else {
// check if password cookie is set
if (!isset($_COOKIE['verify'])) {
showLoginPasswordProtect("");
}
// check if cookie is good
$found = false;
foreach($LOGIN_INFORMATION as $key=>$val) {
$lp = (USE_USERNAME ? $key : '') .'%'.$val;
if ($_COOKIE['verify'] == md5($lp)) {
$found = true;
// prolong timeout
if (TIMEOUT_CHECK_ACTIVITY) {
setcookie("verify", md5($lp), $timeout, '/');
}
break;
}
}
if (!$found) {
showLoginPasswordProtect("");
}
}
?>
Salvezi codul cu numele de exemplu petre.php si il incluzi frumos in pagina lui petre dar la inceputul codului sa pui user-ul petre sau cum vrei tu si parola lui. si il salvezi de cate ori vrei cu nume diferite si in fiecare tot alt user.
Sper ca ti-am fost de folos. Apropo, are si cookie
, daca te descurci cu engleza citeste prin cod si il poti seta tu la cat timp vrei, parca la vreo 12 ore expira.