<?php //некий текст $rating="10"; ?>
Как организовать запись в файл переменной $rating++ заменяя при этом лишь число "10" на "11" (и т.д.)
Всё испробовал не получается никак...
Заранее спасибо.
Спустя 4 часа, 18 секунд (3.09.2006 - 18:12) vasa_c написал(а):
http://ru.php.net/setcookie
Ничего не понятно
QUOTE
Как организовать запись в файл переменной $rating++ заменяя при этом лишь число "10" на "11" (и т.д.)
Ничего не понятно
Спустя 1 час, 8 минут, 11 секунд (3.09.2006 - 19:20) Rem написал(а):
Т.е заменять значение переменной $rating на значение, большее этой переменной на 1, т.е. $rating++
Спустя 1 минута, 58 секунд (3.09.2006 - 19:22) Rem написал(а):
А насчёт кукисов я понял тока как их создавать, а вот как сделать авторизацию по этим данным въехать никак не могу...:(
Спустя 39 минут, 45 секунд (3.09.2006 - 20:01) vasa_c написал(а):
QUOTE
Т.е заменять значение переменной $rating на значение, большее этой переменной на 1, т.е. $rating++
Всё испробовал не получается никак...
Всё испробовал не получается никак...
И как именно ты пробывал?
Авторизация не делается по кукам. Авторизация делается по логину и паролю. Единственный момент, это то, что вместо того, чтобы заставлять пользователя каждый раз при входе на сайт вводить логин/пароль от руки их можно запомнить в куках.
Используй сессии. Там ничего сложного.
Читай www.phpfaq.ru/sessions до полного просветления.
Мне кажется, что на данный момент ты сам не до конца понимаешь, чего хочешь добиться.
Спустя 2 часа, 50 минут, 11 секунд (3.09.2006 - 22:52) killich написал(а):
Насколько я понял из чтения одного мануала
более-менее надежная авторизация проходит примерно так:
1. Вводится пароль и логин.
2. Проверяется на другой странице.
3. Если пара верная, то генерируется уникальное случ. число и сохраняется на серваке.
4. Юзверю отсылается это число и хранится в куках.
При входе Юзверя на сайт просматриваются куки (число) и сравниваются с данными на серваке.
Если такое число есть, то регистрация пройдена ==> получает доступ без ввода пароля и логина.
Там много еще всяких мелочей, но общий принцип вроде такой.
Давате для начала сделаем по-тупому. нет никакого сервака и пусть хранится не число, а просто в куках
лежит значение true (доступ) или false(запрет).
Шаг первый.
На странице 1 есть два поля log и pwd.
Поля заполняются и передаются методом POST на стр.2
Шаг второй.
НА 2 СТР.
1. Просмотрим куки, если переменная доступа еще не определена, то установим ее на false.
2. Получим из массива $_POST значения пароля и логина.
3. Проверим эту пару функцией Check_Log_Pwd(), если она вернет true, то в куки
определим переменную доступа на 1 час и установим ее на true.
4. Иначе напишем сообщение об ошибке.
page2.php // в ней будет примерно следующее.
НЕ ПЫТАЙТЕСЬ ЭТО ЗАПУСКАТЬ, НАПИСАЛ ЗА МИНУТУ И КРИВО , НО МОЖЕТ ВСЕ ЖЕ ВАМ ПОМОЖЕТ ЧЕМ НИБУДЬ
более-менее надежная авторизация проходит примерно так:
1. Вводится пароль и логин.
2. Проверяется на другой странице.
3. Если пара верная, то генерируется уникальное случ. число и сохраняется на серваке.
4. Юзверю отсылается это число и хранится в куках.
При входе Юзверя на сайт просматриваются куки (число) и сравниваются с данными на серваке.
Если такое число есть, то регистрация пройдена ==> получает доступ без ввода пароля и логина.
Там много еще всяких мелочей, но общий принцип вроде такой.
Давате для начала сделаем по-тупому. нет никакого сервака и пусть хранится не число, а просто в куках
лежит значение true (доступ) или false(запрет).
Шаг первый.
На странице 1 есть два поля log и pwd.
Поля заполняются и передаются методом POST на стр.2
Шаг второй.
НА 2 СТР.
1. Просмотрим куки, если переменная доступа еще не определена, то установим ее на false.
2. Получим из массива $_POST значения пароля и логина.
3. Проверим эту пару функцией Check_Log_Pwd(), если она вернет true, то в куки
определим переменную доступа на 1 час и установим ее на true.
4. Иначе напишем сообщение об ошибке.
page2.php // в ней будет примерно следующее.
НЕ ПЫТАЙТЕСЬ ЭТО ЗАПУСКАТЬ, НАПИСАЛ ЗА МИНУТУ И КРИВО , НО МОЖЕТ ВСЕ ЖЕ ВАМ ПОМОЖЕТ ЧЕМ НИБУДЬ
<?php>
if ( !isset($_COOKIE['dostup']) )
{
// 60*60 = сек*мин = 3600 сек = 1 час
setcookie( "dostup", false, time() + 60*60 );
}
// Если и то и другое определено тогда
if ( isset($_POST['log']) && isset($_POST['pwd']) )
{
$x = $_POST['log'];
$y = $_POST['pwd'];
// Check_Log_Pwd() вернет true, если пара верна
if( Check_Log_Pwd($x,$y) )
{
setcookie( "dostup", true, time() + 60*60 );
}
else
{
print "Пара Логин-Пароль не верна!";
}
}
else
{
print "Логин и пароль не определены";
}
if ( $_COOKIE['dostup'] == true )
{
print "Это секретная строка, если dostup не равно true ее не видно";
}
?>
Спустя 9 часов, 2 минуты, 35 секунд (4.09.2006 - 07:54) vasa_c написал(а):
QUOTE
Давате для начала сделаем по-тупому. нет никакого сервака и пусть хранится не число, а просто в куках
лежит значение true (доступ) или false(запрет).
лежит значение true (доступ) или false(запрет).
Вот тут то вы, товарищ, и облажались, прошу прощения, глубочайшим образом.
Мало-мальски грамотному человеку не стоит абсолютно никаких трудов заменить куку у себя в браузере на true и избавиться от ввода логина и пароля.
Спустя 6 часов, 12 минут, 52 секунды (4.09.2006 - 14:07) Rem написал(а):
Вопсчем насчёт авторизации я вроде въехал, только вот эту самую весчь я собираюсь организовать не через доступ (так любой взломает), а через связку логин пароль (эта связка будет именем куки) сверяем эти имя и пароль с логином/паролем в бд у искомого юзера и в зависимости от верности ввода данных разрешаем ему логиниться.
Я пробовал путём поиска переменной $rating, потом у этой переменной то, что находится в "", заменять на $rating++, тока у меня постоянно записывало вместе с этим значением Resourse #ID 27 (или 25, 20, 13 и т.д.) и он мне эту хрень выводил вместе с файлом...
QUOTE
И как именно ты пробывал?
Я пробовал путём поиска переменной $rating, потом у этой переменной то, что находится в "", заменять на $rating++, тока у меня постоянно записывало вместе с этим значением Resourse #ID 27 (или 25, 20, 13 и т.д.) и он мне эту хрень выводил вместе с файлом...
Спустя 1 час, 17 минут, 20 секунд (4.09.2006 - 15:24) vasa_c написал(а):
QUOTE
Я пробовал путём поиска переменной $rating, потом у этой переменной то, что находится в "", заменять на $rating++, тока у меня постоянно записывало вместе с этим значением Resourse #ID 27 (или 25, 20, 13 и т.д.) и он мне эту хрень выводил вместе с файлом...
Так ты решил эту проблему?
Если нет, то:
1. Покажи, наконец, код.
2. В следующий раз для каждого вопроса создавай отдельную тему. Потому что разбираться в одной с авторизацией и работой с файлами не катит.
Спустя 1 час, 58 минут, 26 секунд (4.09.2006 - 17:23) Rem написал(а):
Нет, проблему я не решил. Он мне писал всегда этот Resourse #ID 27 вместо значения переменной.
Кто-нибудь может сказать, из-за чего он так записывает?
1. Тока вот у меня есть тупая привычка - если скрипт не работает или работает криво надо его полностью удалять, если скрипт маленький. Так что выложить я примеры не смогу...
2. Ладно, в следующий раз так и поступлю.
И вопрос: а насчёт авторизации через имя cookie я верно начал думать? и возможно ли взломать сайт через такой кукис?
Кто-нибудь может сказать, из-за чего он так записывает?
1. Тока вот у меня есть тупая привычка - если скрипт не работает или работает криво надо его полностью удалять, если скрипт маленький. Так что выложить я примеры не смогу...
2. Ладно, в следующий раз так и поступлю.
И вопрос: а насчёт авторизации через имя cookie я верно начал думать? и возможно ли взломать сайт через такой кукис?
Спустя 6 минут, 48 секунд (4.09.2006 - 17:30) vasa_c написал(а):
QUOTE
а насчёт авторизации через имя cookie я верно начал думать?
А кто тебя знает?
Додумай сначала до конца, а потом выложи здесь алгоритм, по пунктам и с подробным описанием. Тогда и будем его разбирать.
Непонятно что такое "не через доступ (так любой взломает)". Непонятно зачем "эта связка будет именем куки"
Спустя 1 час, 16 минут, 58 секунд (4.09.2006 - 18:47) Rem написал(а):
"не через доступ" значит не через переменную $dostup="true/false";
а связка будет использована примерно так:
а потом с каждым чтением куки будет идти запрос в бд с именем $nick и содержимым $pass, сопоставляться с пассвордом и ником из базы и если верно - логиниться.
Запись может быть не понятна, мысли в голове хаотические, вообщем надо написать нормально это дело.
а связка будет использована примерно так:
<?php>
$nik = $_POST['log'];
$passwd = $_POST['pwd'];
//тут может стоять проверка на чтение данного файла с аккаунтом юзера
include("accs/$nik.php");
//nick и pass - данные юзера из БД
if ($nik==$nick && $passwd==$pass)
{
setcookie( "$nick",$pass, time() + 60*60 );
}
?>
а потом с каждым чтением куки будет идти запрос в бд с именем $nick и содержимым $pass, сопоставляться с пассвордом и ником из базы и если верно - логиниться.
Запись может быть не понятна, мысли в голове хаотические, вообщем надо написать нормально это дело.
Спустя 3 минуты, 28 секунд (4.09.2006 - 18:50) vasa_c написал(а):
QUOTE
//nick и pass - данные юзера из БД
Какого юзера? Ведь ты еще не знаешь, какой это юзер.
Читай лучше ссылку из первого ответа.
Спустя 3 года, 2 месяца, 6 дней, 21 час, 19 минут, 13 секунд (11.11.2009 - 17:09) Guest написал(а):
Скрытый текст |
привет |
_____________
tesseract (10:09:16 1/06/2007)
к вопросу о вчерашних скриптостраданиях. Только что кодер знакомый прислал, нашёл в коде программы, написанной уволенным коллегой незадолго до ухода:
#define TRUE FALSE //счастливой отладки <ВЦ>
такого извращённого юмора ещё не встречал
Rouse_ (10:09:56 1/06/2007)
#define true ((rand() % 2) ? true : false) //с первым апреля