lebo som si spravil taký script... ktory ide cez 3 kroky... a kto sa vyzna tak vie ze moze preskocit krok 2...
Alebo dá sa trebars spraviť script...
Ak prejdem priamo na stranku http://xyz.sk/index.php
tak ma to nepusti... ze proste musim prist s cudzej stranky... Dalo by sa to nejako?
eror napísal:lebo som si spravil taký script... ktory ide cez 3 kroky... a kto sa vyzna tak vie ze moze preskocit krok 2...
Alebo dá sa trebars spraviť script...
Ak prejdem priamo na stranku http://xyz.sk/index.php
tak ma to nepusti... ze proste musim prist s cudzej stranky... Dalo by sa to nejako?
no tak to treba opraviť, aby sa to preskočiť nedalo. Načo máme session?
Pripadne, ak mas velmi chut tu URL skryt, tak vsetko spracuj na stranke bez GET parametru, iba odosielaj jednotlive casti formularu a na zaklade odoslanych dat generuj dalsie kroky. Lahko overis identitu pouzivatela tak, ako spomina audio, napriklad cez sessions.
lenze to je na tom ze ja idem s inej stranky (neni moja) na svoju a neviem prist nato ako zablokovat pristup na moju stranku ak nepride s cudzej stranky... a cez session netusim ako na to teda ak sa to vobec da....
ps. a aj keby som dal s tej druhej stranky presmerovanie trebars po 10sekundach na moju a dal by som na mojej stránke premenu a potom opat presmerovanie na moju 2 stranku kde by sa vykonaval skript a overil ci ma premenu alebo nema premenu tak aj tak by sa to dalo obyst tak ze by klikol len na tu moju stranku a presmerovalo by ho to aj bez toho aby bol na 1 stranke boze to je pomotane dufam ze nie
ps2. jednoducho povedane potrebujem nejake overenie ci prisiel so stranky http://xyz.sk alebo nie ak ked neprisiel tak nech ho to nepusti robit... ak by sa to teda nejako dalo dakujem
dobre uz som vymyslel ako to spravit len neviem ci je to realne...
Dalo by sa po zadani do formularu zapametať to čo tam zadam až dokým sa neodhlasim ako keby...
a aby sa to co tam zadam trebars eror zobrazovalo niekde cez premenu alebo nieco také... v com by sa to dalo spravit v sessione ? dufam ze se pochopili mam uz par piv v sebe...
Ak vlastnis aj stranku http://xyz.sk mozes tam prirobit na strane servera, funkciu, ktora odosle pri kliknuti na tvoj odkaz nejake nahodne heslo. Toto heslo mozes pripojit k linku, na ktory to uzivatela presmeruje. Potom ti staci overit ci tie hesla sa zhoduju.
Staci ti to heslo docasne ulozit napr. do databazy.
Nechápem čo to takto komplikuješ... Buď si zmeň celú tú "bázu" ,na ktorej tvoja web služba funguje alebo poslúchni audiotracka a použi session prípadne nejaké iné UID predávane v GET požiadavke. Tvoj problém by sa dal prakticky prirovnať k:
Pokiaľ nieje daný človek prihlásený tz. nikdy "nebol" na stránke /login.php tak nemôže mať prístup do administrácie čo znamená ,že nemôže ani manipulovať s dátami a mal by byť presmerovaní na index. V tvojom prípade ,ak užívateľ nenávštivil nejakú stránku č.1 tak by nemal mať prístup k stránke č.2. Pokiaľ vieš ako funguje login tak s týmto nebudeš mať žiaden problém. Triviálna vec ,ktorú človek zbúcha aj so šesť promile.
$krok = ((isset($_GET['krok']) and ctype_digit($_GET['krok'])) ? (int) $_GET['krok'] : 1); //na ktory krok sa uzivatel CHCE dostat
$aktualnyKrok = (isset($_SESSION['krok']) ? $_SESSION['krok'] : 1); //na ktory krok sa uzivatel MOZE dostat
if($krok <= $aktualnyKrok){
switch($krok){
case 2 :
zobrazDruhyKrok();
break;
case 3 :
zobrazTretiKrok();
break;
// case 4 ....
default :
zobrazPrvyKrok();
}
//ulozime hodnotu v sessione - pravdepodobne to ale nebudes chciet robit tu (pri zobrazeni toho kroku), ale az po odoslani a zvalidovani nejakeho formulara, ci co to tam mas ..
$_SESSION['krok'] = $krok + 1;
}else{
presmerujNaKrok($aktualnyKrok);
}
pred pristupovanim do sessiony treba samozrejme sessionu inicializovat zavolanim funkcie session_start() pred odoslanim akekoholvek vystupu
a o co ide... ide o tzv. }else { dá sa tam vložiť iba 1.krát... viem skusal som to cez. else if(isset.... ale ide o to že všetko musí byť navrchu lebo 1. overuje ci je odoslaný formulár a ci je vyplnene pole web 2. overuje ci je uzivatel prihlaseny... a neviem tam nijakym sposobom vytvoriť 2x else... na 1. else z dôvodu ak neni vyplneny formular alebo vyplnene pole vyhodi hlasku ze sa musi vyplnit, cez echo... a to 2. ak nahodou by vyplnil pole a formular odoslal tak nech sa overí či je uzivatel prihlaseny ak neni vyhodi opat cez echo hlasku ze sa musi prihlasit... skusal som to viac krat a moze sa stat ze sam som na to uz prisiel ale uz mi hrabe na hlavu lebo som cely den pri pc a kukam do textoveho subora... Tak ak by sa niekto ochotny nasiel a vysvetlil mi to dakujem...
if(bolOdoslanyFormular()){
if(jeUzivatelPrihlaseny()){
spracujFormular();
}else{
echo 'formular bol odoslany, ale uzivatel nie je prihlaseny';
}
}else{
echo 'nebol odoslany formular';
}