Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Нужна помощь с php

123 123 Ученик (80), на голосовании 2 года назад
Сделайте авторизацию по паролю, при условии определенного ip пользователя. Подсказка: ip пользователя лежит здесь $_SERVER['REMOTE_ADDR'].
Голосование за лучший ответ
Сергей Сулимов Оракул (50658) 2 года назад
если ип = 123, то перейти к авторизации, иначе - проскочить...
123 123Ученик (80) 2 года назад
$data = file('login.txt');
if (isset($_POST['submit'])) {
$login = htmlspecialchars(trim($_POST['login']));
$password = $_POST['password'];
$ip = $_SERVER['REMOTE_ADDR'];
if (
$login == trim($data[1]) && $password == substr($data[2], 0, 5) &&
$ip = '151.249.170.200'
) {
setcookie('login', true);
setcookie('status', 'admin');
echo '<h2>Вы вошли как администратор</h2>';
}
}
так ?
но а если ввести дргой ip все равно заходит, как админ
Сергей Сулимов Оракул (50658) 123 123, а где же "иначе"? понятно, что "все равно"...
123 123Ученик (80) 2 года назад
и куда мне его в пихнуть
Сергей Сулимов Оракул (50658) 123 123, а вот тут так ли всё верно? "$ip = '151...." ??? там не 2 равно надо или 3?
Сергей СтодольскийМастер (1212) 2 года назад
а не проще использовать функцию ip2long и потом сравнивать два числа?
партнер [www.a77r.ru] Мыслитель (8978) 2 года назад
это редкий случай, т.к. у многих пользователей динамические адреса ip
123 123Ученик (80) 2 года назад
$data = file('login.txt');
if (isset($_POST['submit'])){
$login = htmlspecialchars(trim($_POST['login']));
$password = $_POST['password'];
$ip = $_SERVER['REMOTE_ADDR'];
if (
$login == trim($data[1]) && $password == substr($data[2], 0, 5) &&
$ip = '151.249.170.200'
){
setcookie('login', true);
setcookie('status', 'admin');
echo '<h2>Вы вошли как администратор</h2>';
}
}
так ?
123 123Ученик (80) 2 года назад
но а если ввести дргой ip все равно заходит, как админ
партнер [www.a77r.ru] Мыслитель (8978) 123 123, слишком дырявый код, ученик написал :)
партнер [www.a77r.ru]Мыслитель (8978) 2 года назад
пара советов
- НЕ работай напрямую с глобальным массивом $_POST
- Не ставь открытую (не зашифрованную) cookie для проверки и подтверждения статуса
:)
123 123 Ученик (80) партнер [www.a77r.ru], советы не о чем
Похожие вопросы