Защита на страници!

maxaffey

Registered
Знаете ли скрипт с който да си направя дадени страници да имат защита и да могат да се посещават само от даден IP номер и чрез парола и юзер.

Аз имам скриптове за логване с пароли и т.н. но мисълта ми е като се посещава всияка следваща страница да проверява дали е правилен юзера и паролата и примерно това да има давност 30 мин, т.е. ако не са правени промени повече от 30 мин и като дадеш рифреш да ти иска пак парола и юзер.

А също някой беше споменал че има начини да се записват неправилно въведените юзери и пароли и техните IP-та. как става и това?
 

staf

Registered
maxaffey каза:
Знаете ли скрипт с който да си направя дадени страници да имат защита и да могат да се посещават само от даден IP номер и чрез парола и юзер.
С htaccess може да настроиш кои ip адреси да посещават дадена страница и да се логват към нея или да имат достъп до нея
ScreenShot003.jpg


http://www.web-tourist.net/login/login/view.php?st=306
http://www.web-tourist.net/login/login/view.php?st=381
maxaffey каза:
Аз имам скриптове за логване с пароли и т.н. но мисълта ми е като се посещава всияка следваща страница да проверява дали е правилен юзера и паролата и примерно това да има давност 30 мин, т.е. ако не са правени промени повече от 30 мин и като дадеш рифреш да ти иска пак парола и юзер.
А това може да стане чрез сесии
http://www.web-tourist.net/login/login/view.php?st=300
http://www.web-tourist.net/login/login/view.php?st=360
 

Admin

Registered
Значи нека първо да отговорине на единия въпрос.
Може да се защити дадена страница само с IP адрес.
Както каза staf ето урока:
http://www.web-tourist.net/login/login/view.php?st=306

НАкрая на урока е описано точно това.

Останалите уроци дето е дал staf също са актуални.

По принцип ако искаш да са защитени страниците ти

е достатъчно само сесиината променлива.
Проверката се прави само в първия файл а после само се проверя
само сесиината променлива.

А относно как се записват тези които не са си написали правилно паролата или усера става много лесно:
Скрипта проверява дали си си ги написал вярно(дали има такъв
усер с такава парола) и те пуска, а ако си сбъркал те записва в
файл. :)
 

staf

Registered
Какво трябва да добавя към скрипта за да се записва фаил с потребителите които са сгрешили паролата си
 

Admin

Registered
staf каза:
Какво трябва да добавя към скрипта за да се записва фаил с потребителите които са сгрешили паролата си

Дай скрипта, който ползваш и ще ти допиша.
 

maxaffey

Registered
И аз вече си направих защитата и ме пуска до админ панела само с моето IP и моите юзер и пароли, и ако някой ми пробва да влезне да админа с грешен юзер или пасс ми го праща директно на е-мейла за грешката!!! :lol: 8) :? :shock:

НО искам да ми извлича и URL от който е правен опит да се влезне т.е. примерно иска да се влезне от :
http://web-tourist.net/forum/login.php

или от:
http://web-tourist.net/forum/forum.php

за да знам откъде се опитва да влезне!!! :) :) :)
 

Admin

Registered
maxaffey каза:
И аз вече си направих защитата и ме пуска до админ панела само с моето IP и моите юзер и пароли, и ако някой ми пробва да влезне да админа с грешен юзер или пасс ми го праща директно на е-мейла за грешката!!! :lol: 8) :? :shock:

НО искам да ми извлича и URL от който е правен опит да се влезне т.е. примерно иска да се влезне от :
http://web-tourist.net/forum/login.php

или от:
http://web-tourist.net/forum/forum.php

за да знам откъде се опитва да влезне!!! :) :) :)

Това става много лесно.
Чакай да видя как беше променливата на обкръжението.1 мин.
 

Admin

Registered
Ето ти прост код:
Код:
<?php
$link=getenv("HTTP_REFERER");
echo $link;
?>

getenv("HTTP_REFERER") - ти дава инфо от кой URL влиза в
страницата.

Пробвай.
 

maxaffey

Registered
Мерси много и това ще го приложа, но ме интересува да ми показва URL в който е в момента. Има ли такъв скрипт? :)
 

Admin

Registered
maxaffey каза:
Мерси много и това ще го приложа, но ме интересува да ми показва URL в който е в момента. Има ли такъв скрипт? :)

Това се прави с сесиината променлива ама чесно да ти кажа не знам как.
Не съм го правил. :?
 

maxaffey

Registered
А как да стартирам друга страница, която да изпълни задачата си.

т.е. от този скрипт:
Код:
<?php 
$i = 6; 
if ($i < 6) 
{ 
echo "Тук да стартира примерно start.php и той да си изпълни функциите"; 
} 
else 
{ 
echo "По-голямо от 6"; 
} 
?>

на echo трявба да се стартира start.php и да си изпълни собствените функции!!!
 

Admin

Registered
maxaffey каза:
А как да стартирам друга страница, която да изпълни задачата си.

т.е. от този скрипт:
Код:
<?php 
$i = 6; 
if ($i < 6) 
{ 
echo "Тук да стартира примерно start.php и той да си изпълни функциите"; 
} 
else 
{ 
echo "По-голямо от 6"; 
} 
?>

на echo трявба да се стартира start.php и да си изпълни собствените функции!!!


Код:
<?php 
$i = 6; 
if ($i < 6) 
{ 
require("start.php");
} 
else 
{ 
echo "По-голямо от 6"; 
} 
?>
 

maxaffey

Registered
Да бе!

колко стм тъп, и аз преди това го правих, но забравях да кача другия файл!!! :lol: :lol: :lol:
 

staf

Registered
maxaffey каза:
А също някой беше споменал че има начини да се записват неправилно въведените юзери и пароли и техните IP-та. как става и това?

<?php
session_start();


$user=$HTTP_POST_VARS['user'];
$ip = getenv("REMOTE_ADDR");
$pas=$HTTP_POST_VARS['pas'];
$pas=md5($pas);

function filled_out($form_vars)
{

foreach ($form_vars as $key => $value)
{
if (!isset($key) || ($value == ''))
return false;
}
return true;
}


if(!filled_out($HTTP_POST_VARS))
{
echo '
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1251">

</head>

<body>

<br>

<b><big> <font color=#ff0000> Не сте попълнили всички полета. </font>

<META HTTP-EQUIV="Refresh"
CONTENT="2; URL=login.html">

';
exit;
}


$file= file("db.inc");
$n=count($file);

for ($i=0; $i<$n;$i++)
{
$line = explode ("&",$file[$i] );
if (strtolower($line[0])==strtolower($user) && $line[1]==$pas)

{$HTTP_SESSION_VARS['user'] = $user;
echo'<META HTTP-EQUIV="Refresh"
CONTENT="0; URL=secret.php">';
exit;
}

}

echo 'Грешен "Потребител" или "Парола"';

$passataka="IP : ".$ip." - USER: <b><font color=ff0000>".$user."</font></b><br>";
$fp = fopen ("passataka.html" ,"a");
fwrite($fp, $passataka);
fclose($fp);



?>
 

Горе