Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Красочная расслабляющая игра в жанре маджонг - Накорми Попугая! Собирайте плитки с фруктами, набирайте очки, побеждайте!

Накорми Попугая

Аркады, Маджонг, Казуальные

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

HTML + PHP

С этим тегом используют

CSS Программирование Javascript Верстка IT Сайт Web Программист Web-программирование Разработка Все
73 поста сначала свежее
23
DELETED
2 года назад
Лига программистов

Самый большой проект на бесплатной cms⁠⁠

Итак, меня сделали админом этого сообщества :) К сожалению, постов тут нет, так что модерировать особо нечего. Старые посты тоже модерировать уже нельзя :)

Попробую исправить ситуацию :) Напишу пост сам и забаню кого-нибудь в комментариях :)

Насколько нелепо большие проекты вы писали на простых бесплатных cms? В моей практике, присутствует интернет магазин с собственным движком и практически годом разработки на wordpress и крупный проект в сфере телекома ( https://irt24.ru/ ).

Проект в сфере телекома, продажа интернет и ТВ тарифов, по сути сайт посредник(диллер) продающий тарифы Ростелекома/МТС и прочих через свой функционал.

На старте функционал выглядел не очень большим, на пару месяцев работы, подумаешь парочка тарифов и не такое делали. Максимум 6-8 месяцев, хотя сроки я не взялся сразу точно назвать.

На практике оказалось, что количество параметров редактируемых у этих тарифов физически в админке выглядит как простыня 1000px на 9000px, это сотни параметров различающихся в зависимости от группы тарифов и обладающие сложными взаимосвязями между собой.

Там где на сайте скромный каталог из четырех разделов, в админке скрыто ещё 10-к каталогов взаимосвязанных друг с другом. Тарифы телевидения содержат каналы, каналы распределяются по пакетам каналов, делятся по тематикам итд.

Стоит подметить, админка wordpress без особых проблем справилась с подобной загрузкой, каталоги весьма удобно распределились в меню, параметры редактирования тарифа органично распределись на всем доступном пространстве экрана администратора.

Один экран, с настройками роутеров(подобные экраны ещё два вверх, несколько вниз):

Самый большой проект на бесплатной cms Программирование, Телекоммуникации, Wordpress, PHP, Javascript, Jquery, CSS, HTML, IT, Длиннопост

На самом сайте, разумеется фунционал тоже реализовывался без лишней скромности и с максимальным размахом. Беглый просмотр функционала Ростелекома и МТС по тематике показал крайнюю их узость и отсутствие массы ценных и необходимых пользователю функций.

Зато данные функции в избытке нашлись на американских площадках, откуда и начали щедро заимствоваться, попутно максимально расширяясь и усложняясь.

Так родились карточки генерируемые вплоть до запятой под каждый тариф и даже в мелочах редактируемые через админку, умная корзина позволяющая детально настроить все основные и дополнительные опции для тарифа, разумеется отдельные страницы для каждого тарифа позволяющие сделать тоже самое +дающие развернутое описание опций.

Тарифов оказалось довольно много и им явно нужен каталог для удобной сортировки и подбора нужного. С одной стороны, для этих целей могло хватить обычного каталога со списком тарифов, но это не создает достаточной боли в процессе разработки.

Поэтому был добавлен аяксовый каталог-фильтр поверх основного каталога, позволяющий тыкая параметры(вроде скорости интернета) тут же формировать список подходящих тарифов на странице. Разумеется, необходимо что бы в фильтре остались активны только те параметры которые встречаются среди уже отобранных тарифов.

То есть, если безлимитной мобильной связи среди тарифов со скоростью интернета 500 мб/с нет, то данная опция становится недоступной и мы показываем подсказку почему так произошло.

Самый большой проект на бесплатной cms Программирование, Телекоммуникации, Wordpress, PHP, Javascript, Jquery, CSS, HTML, IT, Длиннопост

Впрочем, выше сказанное указывает только на фильтр. Где же каталог? Разумеется, наш фильтр должен уметь переключаться между категориями каталога, причем проверяя сможет ли он это сделать с уже выбранными опциями.

Обязательно, нужно добавить в фильтр возможность подбора по цене, это очень важно. Причем ползунков там должно быть два и оба в режиме реального времени оценивать своё состояние, нельзя прокрутить ползунок в состояние в котором фильтр не найдет тарифа.

Так же, никогда нельзя забывать про мобильные устройства, все должно работать на любом смартфоне/планшете/умном холодильнике(кто знает как жизнь повернется?)

И так, тарифы подобраны, дальше нужно их сравнить. Здесь нужно реализовать функционал сравнения по каждой опции и от щедрой души разрешить сравнивать между собой даже тариф только с интернетом, против тарифа только с ТВ. Вдруг появятся желающие(ценители).

В целом, реализация подобных монстров в одиночку на WP, это довольно спорная идея. Хотя вполне возможно, структура кода тоже получается максимально простой.

Чистый php, общение с базой данных через базовый функционал WP.

Jquery и парочка простых библиотек.

Файлы в коде изолированы по модулям, модуль сравнение содержит все свои стили, скрипты и файлы php шаблонов. То есть, практически автономен, имеет свой css и свой js, не подгружаемые другими модулями. Заметных сложностей с поиском кода не было :)

Показать полностью 2
[моё] Программирование Телекоммуникации Wordpress PHP Javascript Jquery CSS HTML IT Длиннопост
39
22
user5026104
2 года назад
Студенческое общество

Команда для разработки соц сети⁠⁠

Привет! Меня зовут Никита, я из Беларуси, Минск. Я заинтересован в веб-разработке. Неплохо знаю html и css, поверхостно знаю php и javascript. Недавно я заинтересовался в проекте для школы. Я хочу сделать сайт-соц.сеть для моей школы, в которой будут чаты для каждого класса, а также общешкольный чат для оповещения администрацией о важных мероприятиях всю школы сразу, через один чат.

Так как я совсем поверхостно знаю php и javascript мне нужна команда ребят (желательно моего возраста 13-15 лет), которые знают php и javascript лучше меня,  и которые смогут помочь мне в разработке моего проекта. Мне понадобится помощь в создании системы регистрации и авторизации, а также в создании закрытых чатов. Ну и еще я ищу новые знакомства)

Пишите мне в тг @nikitkakovrov.

[моё] Студенты Программирование Веб-разработка Веб-дизайн PHP Javascript HTML CSS Mysql Школа IT Команда Знакомства Друзья Текст
12
2
SaintPbroo
2 года назад

Помогите найти наставника по web разработке⁠⁠

Если есть тут человек который может помогать, может и не бесплатно (не дорого) отвечать на мои вопросы? (Вопросов не много)
В данный момент я не могу найти ответ на вопросы: что мне нужно знать что бы делать без проблем 1-3 страничные сайты, но с возвозможностью их редактирования обычным пользователем?(Это общий вопрос)
По сути я хочу научиться самостоятельно создавать админ панель для сайта с возможностью редактирования контента!
По пути моего изучения я сталкиваюсь с вопросами на поиск ответов которых трачу очень много времени! Да и приходят время от времени мысли, что я не в том поле копаю и цель от меня уходит ещё дальше) мой ТГ @MixaSpb93 вдруг кто откликнется!)

[моё] IT Web-программирование Программирование Помощь PHP HTML Текст
13
PhD.Faust
PhD.Faust
3 года назад

Ответ на пост «Сливаю парсер 4pda.to он же 4pda.ru (Для ознакомления!)»⁠⁠1

Почему вы продолжаете писать

блокировка ... 4pda.ru

?
Я проверял сразу как появилась это информация - его не заблокировали. Он отлично работал и работает. Заблокировали вас.

Не нужно писать, что такой-то сайт заблокирован. Пишите и говорите правильно - жители России заблокированы для такого-то сайта.

Это не сайт ограничивают - ограничивают ваш доступ и ваши правы. Роскомнадзор глумится именно над гражданами, определяя за них, что они могут читать, а что нет.

[моё] 4PDA Пда PHP Javascript HTML Html 5 Ответ на пост Текст
23
234
DELETED
3 года назад
Лига программистов

Ответ на пост «Перевел интерактивные уроки "Базовый курс CSS" и "Базовый курс JavaScript"»⁠⁠1

Раз пошла такая пьянка, рискну рассказать о сервисе, который сейчас разрабатываю в качетсве пэт проджекта.

А решил я создать сайт с интерактивными курсами по программированию.
На текущий момент уже созданы курсы :
Базовый HTML,  (источник freecodecamp, планируется пополняться и расширяться)

Базовый CSS (источник freecodecamp)

Прикладной визуальный дизайн - дополнение к курсу по CSS (источник freecodecamp. Название курса может быть не совсем корректное)

Базовый курс по php - интерактивный курс по php, сборная солянка со всего интернета.
Дабы не спамить ссылками на все курсы - есть еще курс по JS, в разработке курс по SQL и базам данных.
Прекрасно понимаю, что сайт еще достаточно сырой, есть куча недоработок и багов. К сожалению разработка и наполнение ведется в одно лицо.

В планах сделать интерактивные курсы по питону.
Что из недостатков по сайту вижу сейчас:

- курс по sql - решил сделать озвучку видео при помощи голосовых апи (специальный сервис). Звучит немного убого. В будущем хочу перезалить/перезаписть

- немного страдает адаптивность, хотя в целом сайт не предназначен для мобильных устройст, т.к. неудодно писать код с мобилки

- не весь функционал реализован до конца

- некоторые курсы (в частности JS) содержат не совсем актуальную информацию. По JS в будущем хочу сделать отдельный курс по ES6 (либо актуальному на момент создания стандарту)


Проект в целом создавался скорее для собственного интереса, т.к. было интересно реализовать возможность интерактивных задач для различных ЯП в браузере.

Если будет интересно - могу сделать пару постов о том, как реализовал тот или иной тренажер.

P.S. - За внешний вид просьба не ругать, т.к. я чистый бэк и во фронт почти не умею.  Верстка найдена на просторах интернета и адаптирована под свои нужды


Да прибудут с Вами знания

Ответ на пост «Перевел интерактивные уроки "Базовый курс CSS" и "Базовый курс JavaScript"» Программирование, Самообразование, HTML, Основы HTML, Карьера, Языки программирования, PHP, Ответ на пост, Курсы, Курсы программирования, CSS
Показать полностью 1
[моё] Программирование Самообразование HTML Основы HTML Карьера Языки программирования PHP Ответ на пост Курсы Курсы программирования CSS
36
1
laifhak
laifhak
3 года назад

Как сделать собственную капчу для личного сайта (Урок!)⁠⁠

Как сделать собственную капчу для личного сайта (Урок!) HTML, Основы HTML, PHP, CSS, Капча, Длиннопост

Создать капчу для личного сайта очень просто! Конечно можно воспользоваться сервисами от Яндекса или от Гугла но там так много регистрации и всяческих токенов, с которыми не каждый новичок сможет разобраться, что куда проще написать собственный код который со временем можно только улучшать и всячески модернизировать как душе будит угодно!


Зачем она нужна эта капча?


Ну например, что бы на ваш сайт смогли зайти только реальные люди. Что бы всякие серферы не смогли клонировать контент вашего сайта. Ну и просто защита от DDoS атак.


С чего начать?


Начать надо с логической условности. Например так. Если человек первый раз посещает сайт то он должен ввести капчу если он её вводит правильно то ему открывается доступ к контенту сайта, а если он её вводит не правильно до доступ ему на сайт будет закрыт.


Значит от сюда следует что должна быть некая форма ввода и пример того что человек должен будит сделать самостоятельно. 


Например в вести код - 12345


если(код==12345)то{вход открыт}иначе{закрыт}


на языке PHP это будет выглядеть вот так:


if ($capcha==12345){ echo"ок!";}else{echo"не верно!";exit;}


А как логическая функция поймет, что человек ввел 12345 в переменную $capcha ?


Для этой цели воспользуемся  методам POST и передадим её значение через тег формы:


$capcha=$_POST[capcha]; // приём


<form method='post' action=''>

<input name='capcha' type='text' >

<button type='submit'>Отправить!</button>


Обратите внимание что action='' пустой , это значит что передавать данные мы будит на эту же самую страницу в которой и будем писать весь наш код!


Пример самого простого кода капчи:


<?

$capcha=$_POST[capcha]; // приём

if ($capcha==12345)

{ echo"ок!";

}else{

echo"

<center><br><br><br><br><br><br><br><br>

<p>Введите 12345</p>

<form method='post' action=''>

<input name='capcha' type='text' >

<button type='submit'>Отправить!</button>

</center>

";

exit;

}

?>

...............................

КОНТЕНТ САЙТА!

...............................


Очен простая капча, давайте её усложнять! Например сделаем так чтобы каждый раз надо было вводить разное цифры. Для этого воспользуемся методам генерации случайного числа - rand


<?

$capcha=$_POST[capcha]; // приём веденных значений

$cap_x=$_POST[x]; // приём случайного x

if ($capcha==$cap_x and $capcha==true)

{ echo"ок!";

}else{

$x=rand(10000,99999);// генерируем любое число от 10000 до 99999 и записываем в $x

echo"

<center><br><br><br><br><br><br><br><br>

<p>Введите $x</p>

<form method='post' action=''>

<input name='capcha' type='text' >

<input type='hidden' name='x' value='$x'  ><!--скрытно-->

<button type='submit'>Отправить!</button>

</center>

";

exit;

}

?>

...............................

КОНТЕНТ САЙТА!

...............................


Познав основы логики капчи вы сможете её делать все интереснее и интереснее!


Например использовать куки что бы человеку был доступ на сайт в течении 24 часов без повторного ввода капчи -  setcookie("ok", "1", time() + (3600 * 24) );


Давайте ее внедрим:


<?

$ok=$_COOKIE["ok"];

$capcha=$_POST[capcha]; // прием веденных значений

$cap_x=$_POST[x]; // прием случайного x

if ($capcha==$cap_x and $capcha==true || $ok==1 ){

echo"ок!";

setcookie("ok", "1", time() + (3600 * 24) );

}else{

$x=rand(10000,99999);// генерируем любое число от 10000 до 99999 и записываем в $x

echo"

<center><br><br><br><br><br><br><br><br>

<p>Введите $x</p>

<form method='post' action=''>

<input name='capcha' type='text' >

<input type='hidden' name='x' value='$x' ><!--скрытно-->

<button type='submit'>Отправить!</button>

</center>

";

exit;

}

?>

...............................

КОНТЕНТ САЙТА!

...............................



Так же можно играться со стилям капчи и вместо цифр показывать картинки, или звуки, или загадку, или впускать на сайт только тех людей у которым будут доступ к системе по определённому IP ! Или тех кто оплатил токен ключ прислав вам денюшки на кошелёчек!


Всё это можно реализовать самостоятельно и абсолютна бесплатно!


Ну и в конце я приведу пример шифрования значений капчи:


<?

$ok=$_COOKIE[ok];

$capcha=$_POST[capcha]; // прием веденных значений

$cap_x=$_POST[x]; // прием случайного x

$capcha=md5($capcha); //кодируем хеш в виде 32-символьного шестнадцатеричного числа

if ( $ok==false ){

if ($capcha==$cap_x and $capcha==true  ){

echo"ок!";

setcookie("ok", "1", time() + (3600 * 24) ); // сохраняем куку на 24 часа

}else{

for ($i=0;$i<6;$i++){

$x=rand(0,9);// генерируем любое число от 0 до 9 и записываем в $x1

$w=$w."<img src='$x-картинка.png' >"; // картинок должно быть от 0 до 9

$s=$s.$x;

}

$x_cod=md5($s); //кодируем хеш в виде 32-символьного шестнадцатеричного числа

echo"

<center><br><br><br><br><br><br><br><br>

<p>$w</p>

<form method='post' action=''>

<input name='capcha' type='text' >

<input type='hidden' name='x' value='$x_cod' ><!--скрытно-->

<button type='submit'>Отправить!</button>

</center>

";

exit;

}

}

?>

...............................

КОНТЕНТ САЙТА!

...............................



Готовый пример можно скачать по ссылке:



https://disk.yandex.ru/d/-2_0T8jnuxik9A

Показать полностью
[моё] HTML Основы HTML PHP CSS Капча Длиннопост
47
laifhak
laifhak
3 года назад

Чёрная википедия (Wikipedia)⁠⁠

Как я это сделал?

Чёрная википедия (Wikipedia) Википедия, Wikimapia, Черная, PHP, HTML, CSS, Длиннопост

Это было примерно пол года назад! Мне было скучно. Помню я читал чей то паблик в социальных сетях как вдруг мне попадается слово "Бовреки"  , что за Бовреки думаю я про себя? какие такие Бовреки?  Почему Бовреки?  Зачем Бовреки?


Это слово меня начело сводить сума вот тут то я и обратился к великому и могущественному сайту ru.wikipedia.su ! Зайдя на сайт я чрезмерно увлекся чтением текстов, а мой левый глаз начал уставать, вот тут то я и решился на создание собственного стиля!

Я открыл свой хост и создал файл index.php


<?php //index.php

$y = $_SERVER["HTTP_ACCEPT_LANGUAGE"];// узнаем язык брузера

$y=explode(',', $y);

$y=$y[0];

$y=explode('-', $y);

$y=$y[0];

$x=$_GET[x];// ссылка

$w=$_GET[w];// имя страницы

$l=$_GET[l];// язык

$url="https://$l.wikipedia.org/wiki/$w";

if($w==false){$url="https://$y.wikipedia.org/wiki/Main_Page";};

$Main_Page="Main_Page";

if($x==true){$url="$x$Main_Page";};

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "$url");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_HEADER, 0);

$output = curl_exec($ch);

curl_close($ch);

//узнаем язык страницы

$l=$output;

$start = strpos($l , 'lang="');

$end = strpos($l , '" dir="ltr">');

$l = substr($l , $start +6, $end - $start -6 );

$output = preg_replace('[href="/wiki/]', "href=\"?l=$l&w=", $output); // трансформируем слово!

$output = preg_replace('[href="https://]', 'href="?l=', $output); // трансформируем

$output = preg_replace('[.wikipedia.org/wiki/]', '&w=', $output); // трансформируем

$output = preg_replace('[&w="]', '&w=Main_Page"', $output); // трансформируем

$output = preg_replace('[/static/images/footer/wikimedia-button.png]', 'https://ru.wikipedia.org/static/apple-touch/wikipedia.png', $output); // трансформируем

$output = preg_replace('[/static/images/footer/poweredby_mediawiki_88x31.png]', 'https://ru.wikipedia.org/static/apple-touch/wikipedia.png', $output); //трансформируем

$output = preg_replace('[href="https://]', 'href="?x=https://', $output); // трансформируем слово!

$output = preg_replace('[</title>]', ' / BLACK</title>', $output); // трансформируем слово!

$output = preg_replace('[canonical]', '', $output); // трансформируем слово!

$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");

$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");

$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");

$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");

$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");

$mobile = strpos($_SERVER['HTTP_USER_AGENT'],"Mobile");

$symb = strpos($_SERVER['HTTP_USER_AGENT'],"Symbian");

$operam = strpos($_SERVER['HTTP_USER_AGENT'],"Opera M");

$htc = strpos($_SERVER['HTTP_USER_AGENT'],"HTC_");

$fennec = strpos($_SERVER['HTTP_USER_AGENT'],"Fennec/");

$winphone = strpos($_SERVER['HTTP_USER_AGENT'],"WindowsPhone");

$wp7 = strpos($_SERVER['HTTP_USER_AGENT'],"WP7");

$wp8 = strpos($_SERVER['HTTP_USER_AGENT'],"WP8");

if ($ipad || $iphone || $android || $palmpre || $ipod || $berry || $mobile || $symb || $operam || $htc || $fennec || $winphone || $wp7 || $wp8 === true) {

$output = preg_replace('[mw-body]', '', $output); // трансформируем слово!

echo"<style>

#mw-head{display: none;}

#mw-panel{display: none }

#toc{display: none }

#mw-page-base{display: none !important;}

.noprint{display: none !important;}

#mw-fr-reviewnotice{display: none !important;}

body{width: 90%;

margin-left: 5%;

}

</style>";

}

if ($output==FALSE) { // если сылка битая переход назад если норм то показываем

echo "

<script>

setTimeout(() => { history.back();}, 1000);

</script>

";

}else{

echo("$output");

}

?>



Теперь оставалось создать собственный стиль style.css

body,table,tr,blockquote,footer,ul,td{margin-left: 50px

color: #00FF00 !important;

background-color: #000 !important;

}

th{color: #FFA500 !important;}

td{color: #fff !important;}

span{color: #FF0000 !important;}

h1{color: #FF0000 !important;}

b{color: #00FF00!important;}

a{color: #00FF00 !important;}

lu{color: #00FF00 }

li{color: #fff }

p{color: #fff }

div{color: #fff !important;}

lu{background-color: #000 !important;}

ul{background-color: #000 !important;}

li{background-color: #000 !important;}

nav{background-color: #000 !important;}

span{background-color: #000 !important;}

a{background-color: #000 !important;}

p{background-color: #000 !important;}

b{background-color: #000 !important;}

.active{background-color: #000 !important;}

/*#mw-head{display: none !important;} */

/*#mw-page-base{display: none !important;} */

/*span.mw-editsection{display: none !important;}*/

/*sup{display: none !important;}*/

/*ul#footer-icons{display: none !important;}*/

/*div.main-top{display: none !important;} */

/*#p-logo{display: none !important;} */

/*#mw-page-base{display: none !important;}*/

/*.noprint{display: none !important;}*/

.mw-editsection{display: none !important;}

a.mw-wiki-logo{background-image: url(icon4.png) !important;}

div.mw-panel{color: #00FF00 !important;}

div{

background-color: #000 !important;

/*background: #000;*/

color: #fff;

border-radius: 10px !important;

}

table li::marker { list-style-type: none; }



Также я добавил собственный логотип icon.ico


И через пару часов я уже пользовался своим творением, а мой глаз слегка дёргался! Кому интересно оставлю ссылку на исходники. Ну а что такое Бовреки? я до сих по не знаю.


https://disk.yandex.ru/d/Sz4RJxCxid6gUQ

Показать полностью
Википедия Wikimapia Черная PHP HTML CSS Длиннопост
8
Партнёрский материал Реклама
specials
specials

Сколько нужно времени, чтобы уложить теплый пол?⁠⁠

Точно не скажем, но в нашем проекте с этим можно справиться буквально за минуту одной левой!

Попробовать

Ремонт Теплый пол Текст
8
laifhak
laifhak
3 года назад

Сливаю парсер 4pda.to он же 4pda.ru (Для ознакомления!)⁠⁠1

Сливаю парсер 4pda.to он же 4pda.ru (Для ознакомления!) 4PDA, Пда, PHP, Javascript, HTML, Html 5, Длиннопост

Недавно мы все с вами столкнулись с такой проблемой как блокировка крупнейшего форум сайта 4pda.ru


Причиной блокировки послужило размещение пользователями форума плейлистов, содержащих один из спортивных телеканалов. 


Для меня конечно было шоком, когда я зашел на свой любимый сайт, и увидел это:


(Доступ к информационному ресурсу ограничен на основании Федерального закона от 27 июля 2006 г. N 149-ФЗ "Об информации, информационных технологиях и о защите информации")


Что ? Как? Зачем? Почему?


И тут я начал искать информацию о произошедшем, благо люди хоть какое то объяснение оставили на форумах, первое что мне посоветовали так это активировать VPN , но к сожалению это мне не помогло. И тут мне пришлось парсить используя прокси Белоруссии.


Настроев сервер и шлюзы я создал долгожданный файл:


pars-4pda.php


Потратив пару часов у меня получилось вот что:


парсер 4пда, надо создать каталог site, и пустые файлы seo.txt url.txt, а так же для сайта нужен js для работы сохранить его в 1.js


/site/

seo.txt 0777

url.txt 0777

1.js

index.php

reklama.php

pars-4pda.php

menu.php - для дополнений которые будут на всех страницах



<?php // код в файле pars-4pda.php

$url_site=$_GET[url];

if ($url_site==false){ // если нет get

$url_site="//4pda.to/forum/index.php";

}

$url_site = preg_replace('[&amp;]', '&', $url_site ); // убираем ошибку шрифта &amp;

echo "Cканирую страницу - $url_site <br><br>";

/* $html - некий html-код некой страницы, \n - это переход на новую строку (верстальщики иногда это делают) */

$html = file_get_contents("https:$url_site");

/* Вызываем функцию, которая все совпадения помещает в массив $matches */

preg_match_all("/<[Aa][\s]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\s]*([^ \"'>\s#]+)[^>]*>/", $html, $matches);

$urls = $matches[1]; // Берём то место, где сама ссылка (благодаря группирующим скобкам в регулярном выражении)

/* Выводим все ссылки */

file_put_contents("url.txt", ""); // очищаем файл ссылок

for ($i = 0; $i < count($urls); $i++)

if (preg_match('[4pda.to/forum/index.php]', $urls[$i])) { // есть ли embed

if (preg_match('[act=auth]', $urls[$i])) { // есть ли embed

//echo "пропускаем";

}else{

$co = preg_replace('[&amp;]', '&', $urls[$i] ); // убираем ошибку шрифта &amp;

file_put_contents("url.txt", "$co\n", FILE_APPEND); // записываем ссылку

$urls[$i]=strstr($urls[$i], '?'); // убираем все до embed

$urls[$i]=str_replace('?', '', $urls[$i]); // убираем само embed

echo "$urls[$i]<br>"; // показать ссылку

$cl = str_replace("?", "", $urls[$i]);

$cl = preg_replace('[&amp;]', '&', $cl ); // убираем ошибку шрифта &amp;

$html = file_get_contents("./site/$cl");

if ($html==false){ // проверяем что еще не парсили страницу

//echo " - нету"."<br/>";

$cow = preg_replace('[&amp;]', '&', $urls[$i] );// убираем ошибку шрифта &amp;

$content = file_get_contents("https://4pda.to/forum/index.php?%24cow="); // загружаем контент

if ($content==true){ // проверяем сто контент есть

$s='

<script type="text/javascript" src="../1.js"></script>

<iframe id="menu-iframe" src="../menu.php" ></iframe>

'; // дополнить

$y1='<a href="//4pda.to/forum/">ФОРУМ</a>';

$y2='https://4pda.to/forum/index.php?showtopic=1024777%27;

$y3='Блокировка 4-pda.ru - описание ситуации';

$y4='ФОРУМ';

$y1 = (iconv( "UTF-8","windows-1251", $y1)); // переводим шрифт на русский

$y2 = (iconv( "UTF-8","windows-1251", $y2)); // переводим шрифт на русский

$y3 = (iconv( "UTF-8","windows-1251", $y3)); // переводим шрифт на русский

$y4 = (iconv( "UTF-8","windows-1251", $y4)); // переводим шрифт на русский

$content = preg_replace("[$y1]", "<a href='../index.php'>$y4</a></li>", $content); // убираем

$content = preg_replace("[$y2]", '../reklama.php', $content); // убираем

$content = preg_replace("[$y3]", '', $content); // убираем

$content = preg_replace('[//4pda.to/forum/index.php\?]', '', $content); // убираем

$content = preg_replace('[index.php\?]', 'index.php', $content); // убираем

$content = preg_replace('[function]', '', $content); // убираем

$content = preg_replace('[<script]', '<!--script', $content); // убираем

$content = preg_replace('[/script>]', '/script-->', $content); // убираем

$content = preg_replace('[https:showtopic=1024777]', '../reklama.php', $content); // убираем

$col = str_replace("?", "", $urls[$i]);

$col = preg_replace('[&amp;]', '&', $col );// убираем ошибку шрифта &amp;

file_put_contents("./site/$col"," $content $s"); // сохроняем спарсеную страницу

$seo = file_get_contents("seo.txt"); // счетчик сохранений

$seo++;

file_put_contents("seo.txt",$seo);

//echo $content;

}

}else{

//echo " - есть"."<br/>";

}

}

}

$seo = file_get_contents("seo.txt"); // счетчик сохранений

echo "Сохранено страниц - $seo<br><br>";

$u = file_get_contents("url.txt"); // читаем список

$array = explode("\n", $u); // указали что списак масссив

$str = count($array); // считаем сколько строк в масиве

$r=rand(1,$str);

$url="$array[$r]"; // случайная ссылка из сохраненных рание ссылок

echo "Перехожу далее на - $url";

echo "<META HTTP-EQUIV='Refresh' CONTENT='5; URL=?url=$url'>"; // задершка и переход

exit;

?>


в файле index.php я разместил весь код от главной страницы форума 4pda но скрыв все родные скрипты добавив только свой доработанный js (вот с ним то мне пришлось попыхатся)


но через часок все уже было готова!


К сожалению весь код сюда написать не могу но оставляю вам ссылку для ознакомления!


Вот таким вот способом я спас данный сайт пусть даже всего на две недели но все же!


https://disk.yandex.ru/d/5AoBqmOjYW5xDw

Показать полностью
[моё] 4PDA Пда PHP Javascript HTML Html 5 Длиннопост
35
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии