Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Probleme timonerie schimbator sau...

Numar strada gresit in contractul...

Centrala Ariston Cares Premium 24...

La multi ani @Klasse!
 La multi ani @shmecherul!

pareri ipad 6-2018- flip

Cum au aparut supermarketurile in...

Campanii mincinoase Carrefour
 Tv toshiba defect

touchscreen navigatie stricat

bonsai - de unde?

Resetare Bonus Malus
 Unitatea optica DVD-rw absenta pe...

Problema configurare Wireguard

Dozatoare de apa, cu alimentare d...

Intarziere aterizare avioane
 

Pagina protejata parola cu redirect php

- - - - -
  • Please log in to reply
22 replies to this topic

#1
livmer

livmer

    Junior Member

  • Grup: Members
  • Posts: 132
  • Înscris: 21.02.2013
Salut. Vreau sa fac o pagina in care introduc o parola, iar daca parola e corecta, sa ma redirectioneze pe o alta pagina?
Din ce am cautat pe net nu gasesc nimic sa fie cum vreau.
Cum fac asta? Multumesc!

Edited by livmer, 10 March 2013 - 16:34.


#2
failb0x

failb0x

    Junior Member

  • Grup: Members
  • Posts: 124
  • Înscris: 30.06.2010
##Login.php##
<FORM action='redirect.php' METHOD='post'>
<input type='text' name='password'>
<input type='submit'>
</FORM>
##Redirect.php##
<?php
$password = $_POST['password'];
$correct_password = "abc";
if ($password == $correct_password)
{header("Location: protected.php");}
else
{header("Location: login.php");}
?>



asa ceva?

#3
livmer

livmer

    Junior Member

  • Grup: Members
  • Posts: 132
  • Înscris: 21.02.2013
Pai nu prea
E pagina de cu parola, unde trebuie sa o si verifice, daca e corecta sa imi faca redirect, daca nu sa afiseze un mesaj

#4
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,477
  • Înscris: 10.08.2005
Si codul respectiv ce face?

#5
failb0x

failb0x

    Junior Member

  • Grup: Members
  • Posts: 124
  • Înscris: 30.06.2010
descrie mai mult ... sau pune aici ce ai sa ne putem da seama ... ca eu nu inteleg ce vrei tu sa faci :)

#6
livmer

livmer

    Junior Member

  • Grup: Members
  • Posts: 132
  • Înscris: 21.02.2013
eroare: cannot modify header information - headers already sent by

#7
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postlivmer, on 10 martie 2013 - 17:50, said:

eroare: cannot modify header information - headers already sent by

Poţi te rog să explici în fraze coerente, în limba română, ce vrei să faci? Aici sunt oameni care pot şi doresc să te ajute, dar dacă tu arunci aproape în scârbă o propoziţie, nici nu prea ai şanse să primeşti ajutor calumea.

Pentru eroarea cu headers already sent, trebuie să ai grijă să-ţi structurezi codul calumea, cu separarea view logic de business logic, şi atunci nu vei mai avea acea problemă (probabil încerci să setezi un cookie sau să schimbi locaţia).

Şi atenţie cum "protejezi" pagina aia, că doar pentru că tu îi dai redirect în urma introducerii parolei, nu înseamnă implicit că userul nu poate accesa direct scriptul "protejat" fără a introduce o parolă - e nevoie de măsuri adiţionale pentru a proteja.

Cea mai sigură metodă de a proteja o pagină, e să n-o pui deloc în htdocs, ci în afară, şi din index.php să-i dai include atunci când utilizatorul e autentificat.

#8
livmer

livmer

    Junior Member

  • Grup: Members
  • Posts: 132
  • Înscris: 21.02.2013
Ma scuzati. M-am jucat eu cu niste sintaxe si am gasit ceva ce imi convine, insa cand fac redirect cu header("Location: paginal"); imi zice ca  "Cannot modify header information - headers already sent" care ar putea fi problema? Multumesc!

Edited by livmer, 10 March 2013 - 20:52.


#9
failb0x

failb0x

    Junior Member

  • Grup: Members
  • Posts: 124
  • Înscris: 30.06.2010
nene,las-o balta.eu unu nu mai inteleg nimic

#10
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postlivmer, on 10 martie 2013 - 20:37, said:

Ma scuzati. M-am jucat eu cu niste sintaxe si am gasit ceva ce imi convine, insa cand fac redirect cu header("Location: paginal"); imi zice ca  "Cannot modify header information - headers already sent" care ar putea fi problema? Multumesc!
Puişor, ia uite ce am scris:

View PostOriginalCopy, on 10 martie 2013 - 19:16, said:

Pentru eroarea cu headers already sent, trebuie să ai grijă să-ţi structurezi codul calumea, cu separarea view logic de business logic, şi atunci nu vei mai avea acea problemă (probabil încerci să setezi un cookie sau să schimbi locaţia).


#11
livmer

livmer

    Junior Member

  • Grup: Members
  • Posts: 132
  • Înscris: 21.02.2013
Daca tot suntem in incepatori, crezi ca stiu ce inseamna separarea view logic de business logic? Posted Image

Edited by livmer, 10 March 2013 - 22:51.


#12
Andrey__

Andrey__

    Member

  • Grup: Members
  • Posts: 426
  • Înscris: 30.06.2012

View Postlivmer, on 10 martie 2013 - 22:50, said:

Pune <?php ob_start(); ?> prima linie din fișier.

Dar n-o să rezolvi mare lucru atât timp cât nu înțelegi ce faci acolo.

#13
livmer

livmer

    Junior Member

  • Grup: Members
  • Posts: 132
  • Înscris: 21.02.2013
Am rezolvat. Mai am o singura problema. Vreau sa fac sa-mi recunoasta o serie de parola si nu ma descurc cu sintaxa else if. Un mic ajutor va rog?
Merge, dar ce face acest object start?

Edited by livmer, 10 March 2013 - 23:17.


#14
roboto

roboto

    Junior Member

  • Grup: Members
  • Posts: 198
  • Înscris: 23.01.2013
ce inseamna...serie de parola ? adica ai mai multe parole ?

ob_start ala impedica php-ul sa verse continutul catre browser si ..piteste cumva eroarea ta.

Eroarea de mai devreme cu headers already sent aparea din cauza faptului ca header("Location: protected.php"); ca si setarea de cookieuri functioneaza in mod natural daca sunt primele instructiuni (linii, caractere) dintr-o pagina.
E destul de logic: nu poti sa-i afisezi userului ceva si la jumatatea paginii sa zici "Redirect catre pagina2". Ori afisezi ori redirect .

#15
livmer

livmer

    Junior Member

  • Grup: Members
  • Posts: 132
  • Înscris: 21.02.2013
Da, mai multe parole
Am rezolvat. Deci e ok ob_start pus acolo?
Am vazut ca daca pun codul la inceput merge bine, dar imi modifica alte alte si cu el imi afiseaza ok.

Edited by livmer, 11 March 2013 - 00:03.


#16
Andrey__

Andrey__

    Member

  • Grup: Members
  • Posts: 426
  • Înscris: 30.06.2012

View Postlivmer, on 10 martie 2013 - 23:15, said:

Mai am o singura problema. Vreau sa fac sa-mi recunoasta o serie de parola si nu ma descurc cu sintaxa else if. Un mic ajutor va rog?
<?php
if(isset($_POST['password']))
{
$parole = array('parola_unu','parola_doi','parola_trei','etc');
in_array($_POST['password'],$parole) ? header("Location: protected.php") : header("Location: login.php");
}
?>



#17
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postlivmer, on 10 martie 2013 - 22:50, said:

Daca tot suntem in incepatori, crezi ca stiu ce inseamna separarea view logic de business logic? Posted Image

Nu ştiu ce ştii sau nu ştii, dar dacă nu ştii şi eşti interesat, întrebi.

View PostAndrey__, on 11 martie 2013 - 00:47, said:

<?php
if(isset($_POST['password']))
{
$parole = array('parola_unu','parola_doi','parola_trei','etc');
in_array($_POST['password'],$parole) ? header("Location: protected.php") : header("Location: login.php");

exit();
Mama lui de exit. Dă şi tu sfaturi până la capăt, nu cu eventuale găuri de securitate.

#18
livmer

livmer

    Junior Member

  • Grup: Members
  • Posts: 132
  • Înscris: 21.02.2013
La fiecare sintaxa cu if trebuie pus exit();?

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate