Autor Zpráva
Cajme12
Profil
Dobrý den potřeboval bych udělat zabezpečení stránek, několik možností:
1. Pomocí přihlaš stránky....nejlépe po přihlášení přesměrování na administraci
2. Pomocí kontroli ip adresy

Potřeboval bych aby ...na každé administrační stránce skontrolovat jestli jsme řádně přihlášeni či máme danou ip a jestl ne tak vipíše chybu
__construct
Profil
Myslím, že zlá sekcia. Doplň čo za to ponúkaš a kontakt na seba.
Cajme12
Profil
nic za to nenabízím myslel jsem že je to tu zadarmo pouze potřebuji poradit ................................třeba icq: 411035030
panther
Profil
Cajme12:
myslel jsem že je to tu zadarmo
kde tu? Tu = zde na diskusi jsou lidé, kteří radí ve svém volném čase, mimo to, že se mnozí tímto i živí. Radu zde zdarma získáš, hotovu aplikaci nikoliv.

Chceš-li radu, jak zní dotaz?
PostCC
Profil
Cajme12:
Milerád vám pomůžu, ukažte, co už máte a kde jste se zaseknul. Pokud teprve rozmýšlíte o řešení, pak nepochybně praktičtější je první varianta, neboť může vzniknout potřeba administrovat systém i z jiného počítače než u vás doma.
Cajme12
Profil
tak teda jinak SORRY:
<?
If ($HTTP_POST_VARS["heslo"]=="heslo"):
session_start();
session_register("user_register");
$user_register = "ANO";
header("location:private.php");

else:
if (isset($HTTP_POST_VARS["heslo"])) echo "Prihlášení se nepodarilo" ;
endif;
?>
<FORM ACTION="login.php" METHOD="post">
zadej heslo:
<INPUT TYPE="password" NAME="heslo" value="">
<INPUT TYPE="submit" NAME="odoslat" VALUE="GO!">
</form>
</body>
</html>


ToTo byl můj kód a já potřebuji aby při zmáčknutí odkazu na stránce private.php což bude odkaz na přidání článku tak chci aby to zjistilo zda bylo podniknuto řádné přihlášení
PostCC
Profil
Cajme12:
Session_Register() je zbytečné, stačí pracovat s asociativním polem $_SESSION, tedy v tomto případě $_SESSION["user_register"]. Hlavička pro přesměrování header("location:private.php"); má obsahovat plné URL, nikoli relativní cestu, tedy např.:

Header("Location: http://www.example.com/private.php");

Ve scriptu private.php a případně všech dalších takto chráněných pak jako první řádek vložíte ověření přihlášeného uživatele, tedy např.:

<?php If($_SESSION["user_register"] != "ANO") Die("Nejste přihlášen!"); ?>


Následovat může libovolné HTML nebo PHP, které se vykoná pouze v případě, že je nastavena session proměnná.

Hmm, koukám, že zvýrazňování syntaxe si tady moc neporadí s výše zmíněnou hlavičkou, ať už je uzavřena do tagů pro tučný font nebo pro citaci kódu :-(
__construct
Profil
PostCC:
Session_Register() je zbytečné
Podľa 2. riadku zbytočné nie je .. pravdepodobne používa PHP4 a tam $_SESSION nie je ..
Anonymní
Profil *
diki ale stejne to nefaka skousím
<?
If ($HTTP_POST_VARS["heslo"]=="heslo"):
session_start();
$_SESSION["user_register"];
$user_register = "ANO";
Header("Location: http://www.test.hys.cz/private.php"); 

else:
if (isset($HTTP_POST_VARS["heslo"])) echo "Prihlášení se nepodarilo" ;
endif;
?>
<FORM ACTION="login.php" METHOD="post">
zadej heslo:
<INPUT TYPE="password" NAME="heslo" value="">
<INPUT TYPE="submit" NAME="odoslat" VALUE="GO!">
</form>
</body>
</html>

a

nebo

<?
If ($HTTP_POST_VARS["heslo"]=="heslo"):
$_SESSION["user_register"];
$user_register = "ANO";
Header("Location: http://www.test.hys.cz/private.php"); 

else:
if (isset($HTTP_POST_VARS["heslo"])) echo "Prihlášení se nepodarilo" ;
endif;
?>
<FORM ACTION="login.php" METHOD="post">
zadej heslo:
<INPUT TYPE="password" NAME="heslo" value="">
<INPUT TYPE="submit" NAME="odoslat" VALUE="GO!">
</form>
</body>
</html>
Cajme12
Profil
používám PHP Version 5.3.3
hosting mam od endora.cz
info o php serveru je na http://test.hys.cz/info.php
PostCC
Profil
Anonymní:
Nikde netvrdím, že to má "fakat". A možná to raději "zkoušejte", to bude určitě lepší.

Po hlavičce "Location:" by mělo následovat ukončení scriptu, tedy např. Die(). Pokud používáte PHP 5, nepochybně je lepší hledat výstup formuláře v poli $_POST místo $HTTP_POST_VARS.

A jak se to "nefakaní" projevuje?
Cajme12
Profil
že to nefunguje
panther
Profil
Cajme12:
tak si zkus najít, jak se přiřazuje hodnota do pole (nemáš naplněnou sessionu, takhle se nenaplňuje).
Anonymní
Profil *
ať se snažím jak se snažím tak to skouším furt a stale už jsem totálně mimo:
Zde jsou kody:


login.php

<?
If ($_POST["heslo"]=="heslo"):
session_start();
session_register("user_register");
$_SESSION["user_register"];
$user_register = "ANO" ;
Header("Location: http://www.test.hys.cz/private.php") ; 

else:
if (isset($_POST['heslo'])) echo "Prihlášení se nepodarilo" ;
endif;
?>
<FORM ACTION="login.php" METHOD="post">
zadej heslo:
<INPUT TYPE="password" NAME="heslo" value="">
<INPUT TYPE="submit" NAME="odoslat" VALUE="GO!">
</form>
</body>
</html>


private.php

<html>
<head>
<title></title>
</head>
<body>
<?php If($_SESSION["user_register"] != "ANO") Die("Nejste přihlášen!"); ?>
Nacházíte se na chráněné stránce</body>
</html>


fakt lidi diky že jste mi pomohly ale stale jsem mimo no jo no lama
panther
Profil
Anonymní:
Zde jsou kody:
chybu, jakou děláš, jsem ti napsal o příspěvek výše. Najdi si, jak se do session přiřazuje hodnota, třeba v PHP manuálu (jsou tam i příklady). Tvoje kódy jseou teď tedy zbytečné.
Anonymní
Profil *
STALE SE POKOUŠÍM UŽ JSEM PŘEČETL 5 článků a asi už to mám
<?
If ($_POST["heslo"]=="heslo"):
session_start();
$_SESSION["user_register"] = "ANO" ;
Header("Location: http://www.test.hys.cz/private.php") ; 

else:
if (isset($_POST['heslo'])) echo "Prihlášení se nepodarilo" ;
endif;
?>
<FORM ACTION="login.php" METHOD="post">
zadej heslo:
<INPUT TYPE="password" NAME="heslo" value="">
<INPUT TYPE="submit" NAME="odoslat" VALUE="GO!">
</form>
</body>
</html>


a


<html>
<head>
<title></title>
</head>
<body>
<?php If($_SESSION["user_register"] != "ANO") Die("Nejste přihlášen!"); ?>
Nacházíte se na chráněné stránce</body>
</html>
Cajme12
Profil
to je hrozné se mnou ja vim
Cajme12
Profil
změna
<?
If ($_POST["heslo"]=="heslo"):
session_start();
session_register("user_register");
$_SESSION["user_register"]= "ANO";
Header("Location: http://www.test.hys.cz/private.php") ; 

else:
if (isset($_POST['heslo'])) echo "Prihlášení se nepodarilo" ;
endif;
?>
<FORM ACTION="login.php" METHOD="post">
zadej heslo:
<INPUT TYPE="password" NAME="heslo" value="">
<INPUT TYPE="submit" NAME="odoslat" VALUE="GO!">
</form>
</body>
</html>
Cajme12
Profil
už je to uděláno
Toto téma je uzamčeno. Odpověď nelze zaslat.

0