Как правильно оформить прелоадер на сайте (react + redux)?
Есть loading, который сообщает, пришли данные или нет. Дело в том, что данные могут прийти за считанные доли, соответственно лоадер пропадает очень быстро. Как сделать плавную загрузку данных? То есть, к примеру, после загрузки данных грузить прелоадер еще 1 секунду. Сделал через стейты, а именно:
constructor(props) < super(props) this.state = < contentReady: false >> getProducts() < setTimeout(() => < this.setState(prevState =>(< contentReady: true >)) >, 1000) > render() < const < list, loading, error >= this.props if (list.length > 0) < this.getProducts() >if (error) < return ( Something went wrong while fetching products. Please, try again later. ) > if (this.state.contentReady) < return ( Данные ) > return ( )
Но постоянно выдается следующая ошибка: Can’t call setState (or forceUpdate) on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method. Что нужно изменить? И хорошая ли практика делать именно так?
Отслеживать
задан 9 авг 2018 в 11:39
Андрей Булычев Андрей Булычев
3 3 3 бронзовых знака
setTimeout не убит на unmount. Насчёт хорошо ли это, варнинг сообщает, что нет. Изменить: убивать setTimeout на анмаунте
9 авг 2018 в 12:42
@bonusrk как правильно его убить? Я сделал так, но ошибка не пропадает: clearTimeout(this.timerHandle), где this.timerHandle = моему setTimeout
Фишинг сайтов. Легко и быстро создаём фейк
В этой статье я научу как создать фишинговую страницу с нуля, даже если ты вообще в этом не шаришь.
Всем хоть раз в голову приходила мысль на подобие “как взломать ВК/почту/да что угодно?”. Надо всегда думать шире. Этот мануал можно будет использовать не только на одном конкретном сайте или сервере.
Фишинг (англ. phishing от fishing «рыбная ловля, выуживание») — вид интернет-мошенничества, целью которого является получение доступа к конфиденциальным данным пользователей — логинам и паролям.
Проще говоря, займемся кражей паролей пользователя. Начнём.
Копирование
Для начала нам нужно скопировать страницу и выглядеть она должна идентично настоящей.
Чтобы пользователь, зашедший туда, увидел привычную и знакомую форму входа и без лишних размышлений о адресе страницы ввёл свой логин и пароль.
- Создаём для фейка отдельную папку. Туда и будем скидывать все нужные для него файлы
- Открываем нужный нам сайт в браузере и заходим на страницу авторизации
- Сохраняем эту страницу: файл — сохранить как. В появившемся окне выбираем тип сохраняемого файла: HTML-файл с изображениями, имя: index (лучше сохранить полную версию страницы).
Разбираемся в HTML
- С помощью блокнота открываем исходный код сохраненной страницы index.htm
Много странных закорючек — это исходный код страницы
Как говориться “глаза бояться, а руки делают”, поэтому начинаем фокусничать
Когда вы сохраняли страницу, рядом с полем для ввода логина и пароля наверняка были подписи (логично предположить что там было написано «логин», «пароль»). Вот по ним и будем ориентироваться. Ищем среди всего этого безобразия такие слова. Рядом с ними на странице у нас располагались поля ввода логина и пасса. В html коде они будут выглядеть примерно вот так:
Имена полей (выделены жирным, в коде идут после «name=») не всегда будут именно login и password. Где-то это могут быть e-mail и pass , а где-то и username, parol.(оформление и названия зависит от кодера и сайта)
P.S. Блок с надписями «логин», «пароль» и формами ввода почти всегда находится в тэге .
- Временно записываем или запоминаем имена этих паролей
- Ищем через Ctrl+F «action»
- Меняем строку и прописываем параметру action значение login.php (если параметра action там нет — введите его сами: action=» login.php «)
- Ищем параметр method (в той же строчке что form и action) и ставим ему значение “post” или “get”
- Сохраняемся и закрываем
Волшебный скрипт
Наш скрипт будет выполнять самую важную функцию – перехват и запись введенных логина и пароля.
А теперь по полочкам:
- В первых двух строках переменным Log и Pass присваиваются значения соответствующих полей из предыдущего файла. Именно для этого мы записывали названия полей с сохранённой страницы: мы должны указать их скрипту. Меняем login и password из квадратных скобок на то, как были названы поля ввода на нашей сохранённой странице (Кавычки не трогаем!).
- В третьей строке происходит открытие файла database.txt для записи. Можете назвать этот файл как хотите, хоть IIACCbI_JIOXOB.txt )) Главное — не забудьте как назвали (название должно быть написано английскими буквами) и создайте текстовый документ с таким именем в папке с фейком.
- Четвёртая строка — запись в файл строки вида \n $Log:$Pass \n, где \n — переход на новую строку, $Log:$Pass — значения переменных с логином и паролем, записанные через двоеточие.
- Строка пятая — сохранение, закрытие файла.
- Последняя строка — редирект (переадресация) на другую страницу (пока юзверь не просёк что это фейк). В этой строчке после URL= вписываем адрес страницы, куда попадёт пользователь сразу после того как введёт логин и пароль (и снова будте аккуратны с кавычкой после адреса — она должна там быть!). Лучше всего отправить его на настоящую страницу (ну откуда там вы страничку копировали?) с сообщением о вводе неверного пароля. Тогда бедолага решит что что-то не так ввёл, попорбует снова и зайдёт, ничего не заподозрив!
- Сохраняем файл с именем login.php в папку с фейком
Выход в мир Интернета
Нам понадобится бесплатный хостинг с поддержкой php
- Регистрируем домен на этом хосте с названием, максимально похожим на адрес страницы, которую мы подделываем (например Vk.login.com ), чтобы нашей цели не бросалось в глаза
- Качаем Filezilla или любой другой файловый менеджер
- Подключаем полученный хост через Filezilla
Слева видим все папки и файлы нашего компьютера, справа – наш сервер. Осталось его только дополнить
- Перекидываем все сохраненные файлы нашей фишинговой страницы на новоиспеченный сайт.
- Создаем на сайте текстовый файл “ database.txt ” (В нем и будут сохраняться все введенные логины и пароли в виде: “log : pass”)
Вместо localhost будем открывать тот адрес, который мы зарегистрировали. Соответственно, файл с сохранёнными паролями будет находиться там же ( http://наш_адрес/database.txt ).
- В том же файловом менеджере ставим файлу максимальные права доступа – 777
Теперь наш фишинговый сайт можно использовать в разных целях, но остался один главный шаг.
Социальная часть
Самый сложный и творческий этап. Придется импровизировать как заманить жертву на фейк.
Все зависит от тематики и интересов жертвы.
Писать на почту, в другие месенджеры, хоть голубем эту ссылку отправляйте. Это полностью ваша фантазия
Итог:
- Мы создали фейковую страницу какого-то сайта, где теперь можем заимствовать пароли (или даже банковские карты).
- По этой схеме можно создавать фейки за 10 минут
- Теперь знаем как отличить фейковый сайт от настоящего и будем смотреть на адрес сайта.
- Сами не переходим по неизвестным и подозрительным ссылкам.
Это статья создана для того чтобы понять как создаются фишинговые сайты и автор не несет никакой ответственности за содеянное.
Как правильно сделать loader на сайт?
Стоит ли вообще его делать? При медленном инете пока не загрузится сайт — он будет разрушенным и некрасивым. Много вещей в том числе и верстка формируется в скрипте. В данный момент у меня блок с лоадером фиксированной позиции и виден сразу. Если документ загрузился, то скрипт с анимацией меняет прозрачность на невидимую. Если сайт загрузился быстро, то анимации нету, просто исчезает. Но даже если сайт загружается быстро, все равно видно лоадер, где-то 0.1-0.2с. Не знаю, сильно ли он мешает пользователям сайта. И как его правильно реализовать. На верном ли направлении?
- Вопрос задан более трёх лет назад
- 4563 просмотра
Комментировать
Решения вопроса 0
Ответы на вопрос 2
JavaScript developer. IonDen.com
Лоадер на сайт нужен лишь в одном случае, когда:
1. Вначале вы загружаете лишь мелкий скрипт и мелкий CSS лоадера
2. После чего стартуете загрузку всего остального (например тяжеленных графических ресурсов гигансткого параллакс сайта)
3. Profit
Во всех остальных случаях он не нужен.
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Frontend разработчик
Лоадер не нужен, но
если какие-то части сайта выглядят плохо до загрузки скриптов (у меня было такое с одной jquery галереей), делайте их невидимыми, пока все не прогрузится.
Избранное Lua ASI MoonLoader
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.
Статус В этой теме нельзя размещать новые ответы.
FYP
Известный
Автор темы
Администратор
v.026.5-beta
MoonLoader — это мод для игры GTA San Andreas, стремящийся стать полной современной заменой CLEO. Он вносит возможность загрузки Lua-скриптов в игру, имеет всю функциональность опкодов игры, библиотеки CLEO, плагина SAMPFUNCS и добавляет свой набор новых функций для разработки.
MoonLoader будет полезен как разработчикам, так и пользователям, не занимающимся разработкой. Поскольку Lua скрипты не требуют обязательной компиляции, каждый может изменить исходный код скрипта любым текстовым редактором. Например, можно поменять кнопку или команду для активации скрипта, совсем не умея программировать и не обращаясь за помощью. Кроме этого, MoonLoader можно загружать в уже запущенную игру с помощью любого инжектора, эта возможность может быть полезна тем, кто не хочет держать скрипты и сам плагин в директории игры. Нельзя не упомянуть, что стабильность Lua-скриптов на порядок выше, благодаря встроенным средствам скриптового движка и плагина, а также повышенному качеству разработки, что тоже играет важную роль для любого пользователя.
MoonLoader не зависит от наличия установленного CLEO, не зависит от мультиплеерной модификации SA:MP и плагина SAMPFUNCS (зависят только скрипты, использующие те или иные возможности), а также он совместим с любой версией CLEO, SA:MP и SAMPFUNCS.
Язык программирования Lua является одним из самых популярных скриптовых языков в сфере разработки игр, и в связи с этим для него существует огромное количество готовых решений тех или иных задач, множество готовых модулей на самом Lua, с использованием FFI и в виде динамических библиотек помогут сэкономить время на поиске решения.
Lua значительно упростит разработку и повысит её качество и эффективность, а сами скрипты будут работать стабильнее и быстрее. Благодаря тому, что MoonLoader использует не обычный Lua, а LuaJIT, который широко известен своей колоссальной производительностью и невероятно мощной библиотекой FFI, можно добиться наилучших результатов в реализации задачи наиболее эффективным путём.
О том с чего начать и как правильно писать Lua скрипты можно прочитать в теме Все о Lua скриптинге для MoonLoader
Скачать
Установка: запустить setup-moonloader.exe и следовать шагам программы установки. Для работы MoonLoader требуется GTA: SA версии US1.0.
Скачать моды
Скачать читы
Скачать архивом для установки вручную
На тему можно подписаться, чтобы не пропустить важные обновления.