Pereiti prie turinio

PHP klaida, galit pagelbėti?


Rekomenduojami pranešimai

Sveik, parsisiunčiau scriptą ir jame yra klaida prie admin panelės neprisijungia, ieškojau kur problema ir man rodos radau..

 

login.php yra šis kodas: suvedus teisingus pass ir login, su šiuo kodu niekas nereguoja, suvedus klaidingus duomenis rodo kad klaidingi. Na o pašalinus šią eilutę prisijungia, bet tuo pačiu galima ir rankiniu būdų patekti i admin panele, ar šis kodas teisingas?

 

<?php if(!isset($_SESSION['adminuser'])){

header("location:login.php");

}?>

 

Čia kiek suprantau jeigu nenustatyta adminuser tuomet perkialiama i login.php. Na tikiuos supratote mano problemą ir kas pagelbėsit.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Login.php

 

<?php }

if(!isset($_SESSION['adminuser'])){
if($_SERVER["REQUEST_METHOD"] == "POST")
{
// username and password sent from Form
$adminuser=mysql_real_escape_string($_POST['adminuser']); 
$adminpassword=mysql_real_escape_string($_POST['adminpassword']); 
$gpassword=md5($adminpassword); // Encrypted Password
$sql="SELECT id FROM admin WHERE adminuser='$adminuser' and adminpassword='$gpassword'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);

// If result matched $username and $password, table row must be 1 row
if($count==1)
{
$_SESSION['adminuser'] = $adminuser;

header("location:index.php");
}
else
{
header("location:login.php?error=error");

}
}
ob_end_flush();

?>

?>

 

Čia tarp header.php šis:

 

<? session_start();?>
<?php if(! isset($_SESSION['adminuser'])){
header("location:login.php");
}?>
<!DOCTYPE HTML>
<?php include ('../db.php');?>

Redagavo bolga
Nuoroda į pranešimą
Dalintis kituose puslapiuose

idek apacioj sita print r. po tarkim $_SESSION['name'] = 'lol';

 

ir suzinosi kas ne taip (nesukuria arba netaip sukuria kaip reikia)

 

Rodo šitaip be jokios klaidos:

 

Array ( [adminuser] => lol ) 

 

<?php if(!isset($_SESSION['adminuser'])){
	$_SESSION['adminuser'] = 'lol';
print_r($_SESSION);
}?>

 

Tai aš suprantu, kad pas mane SESSION, nesukuria, nes jeigu sukurti nerodytu nieko, taip?

 

O gal būtų papraščiau ir ar galima taip padaryti, kad į admin panelė, į ta header.php įleistu tik iš vieno IP adreso tai yra mano, kadangi jis nekinta yra toks pats, gal tai būtų papraščiau?

Redagavo bolga
Nuoroda į pranešimą
Dalintis kituose puslapiuose

bandyk isimt login.php sia eilute jei login.php kodas bus tik is formos:

 

if(!isset($_SESSION['adminuser']))

 

jei ne, tau reiks tikrint, ar yra sukurta sesija. jei nesukurta, is post kuri ja. ir tada tikrini duomenis ir ar ivesti user ir pass nera tusti (jei netusti, tada tik tikrinima darai)

 

p.s jei sesijas naudoji, tai reiktu ir slaptazodi prideti, ne vien user. nebent visur pas tave postinimai slaptazodziu.

Redagavo synkas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Su tavo IP pavyzdys:

if ($_SERVER['REMOTE ADDR'] == 123.123.123.133)
{
  echo "Tavo kodas";
}
else
{
  header("Location: index.php");
}

123.123.123.123 pasikeisk į savo IP adresą.

Kabučių reikia adresui – nėra tokios sintaksės, kaip parašei (123.123 būtų trupmeninis skaičius).

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...