Благодарю за уроки! Хотелось бы о безопасности сайта узнать ) Только желательно в формате, который не научит злодеев чему-то, а наоборот благонамеренных умудрит.
Дз с ** для тех кто смотрит в 2023) Как по мне максимально правильный скрипт, полностью соответствующий ТЗ. P.S. Комментариями подписал что за что отвечает setcookie("test", getValue()); $currIP = $_SERVER['REMOTE_ADDR']; // Количество посещений сайта пользователем function getValue(){ if (isset($_COOKIE["test"])) { $_COOKIE["test"]++; }else{ $_COOKIE["test"] = 1; } return $_COOKIE["test"]; } begin: if (file_exists("ips.txt")) { // Информация из файла ips.txt $file = file("ips.txt"); // Разбив файла ips.txt(если он не пуст) на вложенные массивы содержащие IP и кол-во посещений(раздельно)(0 - IP; 1 - Кол-ва посещений) foreach ($file as $key => $value) { $file2[] = explode("=", $file[$key]); } // Добавление посещений пользователя и его IP если они отсутствуют for ($i=0; $i < count($file2); $i++) { if ($file2[$i][0] != $currIP) { $file2[][0] = $currIP; $file2[count($file2)-1][1] = $_COOKIE["test"]; break; }else{ continue; } } // Изменение кол-ва посещений пользователя for ($i=0; $i < count($file2); $i++) { if ($file2[$i][0] == $currIP) { if ($file2[$i][1] != $_COOKIE["test"]) { $file2[$i][1] = $_COOKIE["test"]; break; } } } // Обьединение IP + кол-ва посещений вложенных массивов для дальнейшего изменения(кол-ва посещений) в файле foreach ($file2 as $key => $value) { $file2[$key] = "$value[0]=$value[1]"; } // Запись обратно в файл file_put_contents("ips.txt", ""); file_put_contents("ips.txt", $file2); }else{ // Создание файла file_put_contents("ips.txt", " "); goto begin; }
Андрей спасибо за труд!!!
Как всегда всё замечательно, спасибо большое!
сижу пока на 14 уроке по html и css, очень интересно и понятно, спасибо за вашу работу надеюсь в скором времени догоню вас)
ахренеть, сколько параметров, спасибо большое
который одержит различные = одержит содержит* в описании, спасибо за уроки!
Спасибо!)
спасибо!
если кому нужно, вот ДЗ. Которое **. В принципе реально разобраться, что к чему)
session_start();
setcookie('test', numberOfVisits());
$filepath = 'ips.txt';
$file = file($filepath);
function numberOfVisits(){
if(isset($_COOKIE['test'])){
$_COOKIE['test']++;
}else {
$_COOKIE['test'] = 1;
}
return $_COOKIE['test'];
}
$numberVisitsFinal = $_SERVER['REMOTE_ADDR'] . " " . numberOfVisits();
file_put_contents($filepath, $numberVisitsFinal);
А если зайдут несколько пользователей под разными IP. Останется запись только про последнего.
Благодарю за уроки! Хотелось бы о безопасности сайта узнать ) Только желательно в формате, который не научит злодеев чему-то, а наоборот благонамеренных умудрит.
Подскажите пжж что нужно писать вместо неизвестного числа
О каком числе речь?
Например нужно решить задачу по php $V1=6; пишешь.А если это число не известно.Что нужно писать вместо него.
@@intelligent_muslim пиши например, что значение переменной пустое. так: $a; ты ее инициализировал, но значения не задал
Спасибо за урок
наброски ДЗ
HTML-форма
//===============================================================================================
Дз с ** для тех кто смотрит в 2023) Как по мне максимально правильный скрипт, полностью соответствующий ТЗ. P.S. Комментариями подписал что за что отвечает
setcookie("test", getValue());
$currIP = $_SERVER['REMOTE_ADDR'];
// Количество посещений сайта пользователем
function getValue(){
if (isset($_COOKIE["test"])) {
$_COOKIE["test"]++;
}else{
$_COOKIE["test"] = 1;
}
return $_COOKIE["test"];
}
begin:
if (file_exists("ips.txt")) {
// Информация из файла ips.txt
$file = file("ips.txt");
// Разбив файла ips.txt(если он не пуст) на вложенные массивы содержащие IP и кол-во посещений(раздельно)(0 - IP; 1 - Кол-ва посещений)
foreach ($file as $key => $value) {
$file2[] = explode("=", $file[$key]);
}
// Добавление посещений пользователя и его IP если они отсутствуют
for ($i=0; $i < count($file2); $i++) {
if ($file2[$i][0] != $currIP) {
$file2[][0] = $currIP;
$file2[count($file2)-1][1] = $_COOKIE["test"];
break;
}else{
continue;
}
}
// Изменение кол-ва посещений пользователя
for ($i=0; $i < count($file2); $i++) {
if ($file2[$i][0] == $currIP) {
if ($file2[$i][1] != $_COOKIE["test"]) {
$file2[$i][1] = $_COOKIE["test"];
break;
}
}
}
// Обьединение IP + кол-ва посещений вложенных массивов для дальнейшего изменения(кол-ва посещений) в файле
foreach ($file2 as $key => $value) {
$file2[$key] = "$value[0]=$value[1]";
}
// Запись обратно в файл
file_put_contents("ips.txt", "");
file_put_contents("ips.txt", $file2);
}else{
// Создание файла
file_put_contents("ips.txt", "
");
goto begin;
}
Целый день кодил, даже на линию не вышел. Но решил.
$content = file('ips.txt');
$currentIP = $_SERVER['REMOTE_ADDR'] . " " . $_COOKIE['counter'] . "
";
if($content){
for ($i=0; $i < count($content); $i++) {
$value = $content[$i];
$str = strpos($value, $_SERVER['REMOTE_ADDR']);
if($str === 0) {
unset($content[$i]);
}
}
array_push($content, $currentIP);
} else {
array_push($content, $currentIP);
}
$file = 'ips.txt';
file_put_contents($file, $content);