Jak zabezpieczyć profil edycji użytkownika w php?

Jak zabezpieczyć profil edycji użytkownika w php?
HA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 227
0

Witam,
Mam pytanie, jak zabezpieczyć profil edycji aby inny użytkownik, który jest zalogowany nie wszedł w pole edycji?
W adresie url mam user_id=1 - dla admina, gdy zmienię na 2, to mogę wejść w profil edycji mimo, że są sesje.
Chodzi mi o ten kawałek kodu który mam i jak to poprawić.

Kopiuj
 
session_start();
include ('db_conn.php');
if((isset($_SESSION['logged_in']) && $_SESSION['username'])){
    $username = $_SESSION['username'];
	
}else{
  header("Location: index.php");
  exit();
 }
 if(isset($_GET['user_id'])){
    
 }else{
   header("Location: index.php");
  exit();
 }

$get_member_info = $db->query("SELECT * FROM members_bio WHERE member_id ='".$id."' ");
if($get_member_info->num_rows ==1){
    $row = $get_member_info->fetch_object();
	$country = $row->country;
	$bio = $row->bio;
	$city = $row->city;
	$state = $row->state;
}else {
    $country = " ";
	$bio = " ";
	$city = " ";
	$state = " ";
    }

Jak widać, gdy użytkownik jest zalogowany, to może wejść w inne konto i edytować. sprawdzanie user_id w GET jest po to, bo w profilu mam link do edycji gdzie po edit_profile.php?=user_id<? echo $id ?> Kod który odpowiada za edycję został pominięty.
Jak to mogę poprawić?

Tumeg
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 687
0

Możesz zawsze trzymać id użytkownika w sesji.

JK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 107
0

Sprawdzaj czy

Kopiuj
 $_SESSION['username']

== z nickiem pobranym z bazy danych. Jeżeli tak, to pozwól na edycję.

HA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 227
0

Chodzi mi, że jak inny user jest zalogowany, to ma nie mieć dostępu do innego konta, w tym przypadku do edycji konta, a nie ma mu pozwalać edytować.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.