@id_143

Отобразить текст по таймеру, чтобы клиенту не было видно в коде?

Как и на чем сделать таймер который отобразит Hello World после таймера (скажем, 10 сек.), чтобы само Hello World не было видно в коде до истечения времени таймера? Я как бы понимаю как оно должно работать, но я уже пару часов гуглю на чем это можно организовать и что-то ничего пока не нахожу.
  • Вопрос задан
  • 832 просмотра
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 3
@Alastor
ну почти не видно ))

eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1(0(){2.3(\'5 4!\')},6);',7,7,'function|setTimeout|document|write|world|hello|10000'.split('|'),0,{}))
Ответ написан
IgorBee
@IgorBee
JS,VBS,3D.Web с 07.2015
Вы хотели без единой строчки кода?
получите на CSS.


  • У нас изначально установлена видимость 0% (то есть элемента нашего не видно)
  • Затем у нас стоит таймер анимации 10 секунд который дает видимость через 10 секунд.
animation: clock  10s both ; /*both -нужен для сохранения css правил после проигрывания анимации   */
  opacity:0;


Код с HTML текстом

926.gif?extra=CwH9ke0YXY30uxVrxc-G0dPRIDP.S уточните ,
1.Вы хотите чтобы было просто без JS?
2.или вы хотите чтобы было без JS а ещё чтобы этого текста hello world не было видно в html?

Если 2-й варинат то можно через content :before вставлять текст.


Вот код без HTML текста
Этот код вставляет "hello World" через 10 секунд.
  1. Без использования JS
  2. в HTML нету сначала этого текста,он появится только через 10 сек.
Ответ написан
copist
@copist
Мидл, хочешь стать синьором? http://copi.st/ExhE
Фраза "Hello World" - это пример, что-то типа секретной информации.
Думаю, автор имеет в виду, что ни JS, ни в HTML, ни в CSS нет этой фразы и её нельзя собрать из частей типа "Hello" + "World".

В этом случае решение - AJAX с проверкой меток времени на сервере.

В куки сохраняется код серверной сессии, а на сервере в сессию сохраняется когда секретная фраза будет доступна.

У пользователя в HTML странице встраивается счётчик на JS, который некоторое время делает AJAX запрос на сервер.

На сервере проверяется метка времени в сессии и текущий счётчик времени - "Достиг ли счётчик времени нужной отметки?" Если да - возвращается секретная строка. Если нет - возвращается ошибка.

Возвращение ошибки нужно для того случая, если пользователь решил хакнуть систему и запросить URL раньше назначенного строка.

Именно таким образом работают всякие там файло-качалки типа depositfiles: пока таймер не дотикает, пользователь не получит ссылку на файл, даже если полностью изучит JS код и отправит нужный запрос напрямую, не дожидаясь окончания таймера.

Пример реализации:

1. файл index.php
<?php
session_start();
$_SESSION['secret_phrase'] = 'Hello, World'; // секретная фраза
$_SESSION['time_to_show_secret'] = time() + 10; // через сколько времени фраза может быть доступна
?>
<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="utf-8" />
</head>
<body>
  <div id="ajax"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  setTimeout(function(){
    $('#ajax').load('/secret.php'); // запросить данные через /secret.php и вставить внутрь <div id="ajax"></div>
  }, 10 * 1000); // через 10 секунд
});
</script>
</body>
</html>


2. файл secret.php
<?php
session_start();
if (isset($_SESSION['secret_phrase']) // если в сессии есть секретная фраза
        && isset($_SESSION['time_to_show_secret']) // и есть метка времени, когда фраза будет доступна
        && time() > $_SESSION['time_to_show_secret']) // и текущее время больше этой метки
    echo $_SESSION['secret_phrase']; // выдать секретную фразу
else
    echo 'Секретная фраза пока не доступна'; // выдать ошибку


Этот пример в архиве: https://www.dropbox.com/sh/54xk7ahezuandag/AABqbRa...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы