Настройка и создание приложения для публикации в Facebook timeline. II. Создание публикаций с помощью Publisher

Цель научиться создавать публикацию с помощью мастера публикаций, на основе шаблона, на основе уже существующей публикации.

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

Теоретические аспекты:

Создание публикации с помощью мастера публикаций

· В меню Файл выберите команду Создать .

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

· В области задач Начало работы в списке Начать с макета выберите нужный тип публикации.

· На правой панели выберите макет. Выбрав, щелкните один раз.

· В области задач щелкните Параметры : Быстрая публикация .

Выберите один из следующих вариантов:

· Установленную по умолчанию цветовую схему можно изменить, для этого выберите в области задач команду Цветовые схемы . Щелкните понравившийся вариант.

· Чтобы изменить шрифтовую схему публикации, выберите в области задач команду Шрифтовые схемы . Выберите нужный шрифт. Если не устраивает ни один из предложенных вариантов, щелкните Стили и форматирование . В этом режиме можно не только импортировать стили из других документов, но и создавать свой собственный, щелкнув Создать стиль и в открывшемся окне установить необходимые параметры.

· Чтобы изменить макет публикации, выберите на боковой панели команду Параметры: Макеты публикации . Выберите нужный вариант.

· Замените в публикации текст местозаполнителя и картинки на свои собственные или на другие объекты.

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

Создание новой публикации на основе уже существующей

Благодаря области задач Новая публикация упрощается выбор мастеров, создание публикации "с нуля" и возвращение к существующей публикации.



Эта процедура выполняется, если вы обновили более раннюю версию Publisher, создали свой шаблон или хотите использовать шаблон, созданный для приложения Publisher.

  • В меню Файл выберите команду Создать .
  • В области задач Начало работы в группе Создать из существующей выполните одно из следующих действий:
    • Щелкните Выбрать публикацию , чтобы открыть шаблон Publisher.
    • Щелкните Выбрать документ Word , чтобы открыть шаблон Word.
  • Нажмите кнопку Создать .
  • В меню Файл выберите пункт Сохранить .
  • В поле Сохранить
  • В поле Имя файла
  • Нажмите кнопку Сохранить .
  • Создание публикации с чистой страницы

  • В меню Файл выберите команду Создать .
  • Выберите команду Пустая публикация .
  • Создание публикации на основе шаблона

  • В меню Файл выберите команду Создать .
  • В области задач Начало работы выберите команду Шаблоны .
  • Дважды щелкните шаблон, который вы хотите использовать.
  • Publisher откроет копию шаблона.
  • Внесите необходимые изменения.
  • В меню Файл выберите пункт Сохранить .
  • В поле Папка выберите папку, в которой необходимо сохранить новую публикацию.
  • В поле Имя файла введите имя файла для публикации.
  • Нажмите кнопку Сохранить .
  • Работа с главной страницей

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

    Чтобы открыть главную страницу, сделайте следующее.

    В меню Вид выберите команду Главная страница .

    Переключение между главной страницей и передним планом

    · В меню Вид выберите команду Главная страница . Чтобы вернуться к переднему плану, выберите еще раз командуГлавная страница , сняв, таким образом, флажок возле нее.

    Как скрыть задний план главной страницы для одной страницы

    • Перейдите на страницу, на которой нужно скрыть текст или картинки, помещенные на задний план.
    • В меню Вид выберите команду Игнорировать главную страницу .

    Устранение неполадок при работе с главными страницами

    Разворот с двумя главными страницами больше не нужен

    · В меню Расположение выберите команду Направляющие разметки .

    · Снимите флажок Создать два задних плана с зеркальными направляющими .

    Теперь на всех страницах публикации будет использоваться задний план правой стороны.

    Объект, расположенный на главной странице, появляется не на всех страницах публикации

    · Может оказаться, что объект, расположенный на заднем плане, скрыт каким-либо объектом, расположенным на переднем плане. Если этот объект не является важным, сделайте его прозрачным.

    · Выделите объект.

    · Нажмите клавиши CONTROL+T.

    В данной статье я хочу описать, как создать минимальное приложение, которое что-то опубликует в timeline, а так же рассказать про трудности, которые могут возникнуть на этом пути.
    Прежде всего, стоит сказать, что в данный момент facebook timeline находится в beta и доступна только разработчикам, поэтому первое, что необходимо сделать, это активировать timeline для своего аккаунта. На эту тему написано множество инструкций, вот например .
    После выполнения всех действий из инструкции, и подождав несколько минут, кликните по своему имени, вместо стены должен открыться долгожданный timeline.

    Шаг 1. Настраиваем facebook приложение Это самый важный шаг, именно на нём могут возникнуть непредвиденные осложнения. Создав приложение (https://developers.facebook.com/apps) первым делом указываем «App Domain» в виде test.com или news.test.com. Далее, в разделе «Website» нужно заполнить ссылку на ваш сайт, уже в виде news.test.com . Затем переходим в «Advanced» настройки и убеждаемся, что «Sandbox Mode» выставлен в «Disabled». Если не отключить режим песочницы, то возникнут ошибки с логином, например при вызове API функции getLoginStatus с запросом прав на публикацию, не сработает callback.
    Перейдём в раздел «Open Graph», и добавим действие read article, нажав «get started» мы перейдём к настройке глагола read, тут всё интуитивно понятно, и нет подводных камней. Сохраняем и переходим к настройке объекта. Следующей страницей будет настройка «Aggregations» - достаточно важная настройка, для каждого созданного глагола, должен быть настроен aggregation. В противном случае, facebook отреагирует немного неочевидно – при попытке запросить разрешение на publish_actions, откроется диалог, который предложит залогиниться в ваше приложение, однако в нём не будет ни слова о публикациях в timeline, и соответствующие разрешения не будут получены. Настроив агрегацию, необходимо убедиться, что для неё есть «превьюшки», без них может повториться ошибка с auth диалогом. В настройках Open graph -> Aggregations нажмите preview и убедитесь, что агрегация имеет превьюшку (если таковой нет, её можно добавить в открывшемся диалоге). Для создания превьюшек facebook’у нужно скормить ссылку на пример статьи. Как создать правильную «статью» рассмотрим ниже.Шаг 2. Создаём объект, который будем публиковать на timeline Под объектом, имеется ввиду обычная web-страничка, доступная из интернета. Допустим, мы хотим опубликовать информацию о прочитанной пользователем статье, то есть поместить на timeline заметку о «read article», значит, наша страничка будет статьёй. Как происходит процесс публикации – с помощью facebook API в timeline отправляется ссылка на объект (web-страничку со статьёй), затем facebook обрабатывает эту страницу и создаёт объект в своём графе. Для того чтобы facebook нормально обработал нашу статью, она должна содержать правильные open graph тэги. Вот пример «правильной страницы»








    Article


    just article about article
    Some text ...

    Проверить страницу на правильность open graph тэгов можно с помощью утилиты facebook debugger.
    Создав правильный объект, который может быть опубликован в timeline, настроим preview для агрегаций (инструкцию см. в предыдущем пункте).
    Зайдя в настройки open graph и настроим preview, диалог добавления превьюшек будет выглядеть примерно так

    Шаг 3. Запрашиваем права на публикацию в таймлайн Вот минимальный код, чтобы подключить FB API и запросить права на публикацию в timeline:



    log in






    FB.init({
    appId: "{fb app id}", // App ID



    xfbml: true // parse XFBML
    });
    };


    (function (d) {




    } (document));






    console.log("logged in");
    } else {
    console.log("failed.");
    }

    });
    });



    По нажатию на кнопку откроется диалог, в котором будет написано, что данное приложение собирается писать в ваш timeline, вот пример:

    Если подчёркнутого запроса прав нет, значит, приложение настроено неверно (в таком случае следует перечитать предыдущие шаги, и убедиться что для всех «глаголов» есть «агрегации» с превьющками).
    Удалить приложение можно в Account Settings -> Apps, там же можно проверить и какие права выданы приложению.

    Шаг 4. Публикуем в timeline Допишем необходимый вызов api и получится:



    log in





    window.fbAsyncInit = function () {
    FB.init({
    appId: "{your fb app id}", // App ID
    status: true, // check login status
    cookie: true, // enable cookies to allow the server to access the session
    oauth: true, // enable OAuth 2.0
    xfbml: true // parse XFBML
    });
    };

    // Load the SDK Asynchronously
    (function (d) {
    var js, id = "facebook-jssdk"; if (d.getElementById(id)) { return; }
    js = d.createElement("script"); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js";
    d.getElementsByTagName("head").appendChild(js);
    } (document));


    $(document).ready(function () {
    $("#post").click(function () {
    FB.login(function (response) {
    if (response.authResponse) {
    console.log("logged in. Try to publish in timeline");
    var verb = "{your_app_namespace}:read";
    var objectType = "article";
    var permalink = link to article";
    FB.api("/me/" + verb + "?" + objectType + "=" + permalink, "post", function (result) {
    console.log("published with id = " + result.id);
    });
    } else {
    console.log("failed.");
    }
    }, { scope: "publish_actions" });
    });
    });



    В callback приходит результат публикации, с id в facebook graph (созданную запись можно будет удалить, например). Если в консоль браузера вывелась надпись «"published with id…», значит всё настроено верно. Чтобы увидеть публикацию нужно кликнуть по своему логину (сверху справа), откроется timeline, затем можно нажать Activity log (для более удобного просмотра добавленных действий). При очередной публикации, несколько «read article» сгруппируются в одну агрегацию. На самом timeline это выглядит вот так:

    В FB API вызове фигурирует глагол – verb, в данном случае это namespace вашего приложения, затем двоеточие и глагол. Если при создании нового глагола (например watch) facebook предложит выбрать из существующих, то создастся оригинальный глагол, не привязанный к вашему приложению, в таком случае verb должен быть равен ни «namespace:watch» а «video.watches», это можно узнать, нажав get code в настройках open graph приложения.
    Если всё работает, то следует проверить работу в IE, хотя бы в IE 8. Удивительно, но даже этот код, взятый из инструкций facebook, отказывался работать в IE (с закомментированными console.log). На момент написания статьи ошибка в подключаемом FB скрипте в IE не воспроизвелась, но если у вас возникнет проблема с permissions в IE, то вот полезная ссылка gkirok.blogspot.com/2011/11/ie-facebook-connect.html .
    Возможно, я забыл упомянуть какие-то грабли, на которые становился сам, но в основном все они решаются очень просто – вбиваем в гугл ошибку и ищем ответ на stackoverflow. Если вызывается fb.getloginstatus и дальше ничего не происходит (даже ошибок нету), лезем во вкладку сеть и смотрим ответ от facebook и снова вбиваем в гугл.
    Кроме того, следует не забывать, что запрашивать publish_action можно только у администраторов/разработчиков/тестеров вашего приложения, это ситуация будет продолжаться пока facebook timeline находится в demo. Отправить кому-либо приглашение стать админом/разработчиком вашего приложения можно из настроект «ролей» в самом приложении.
    С наступающим всех!

    Теги: Добавить метки

    Получение частных данных не всегда означает взлом - иногда они опубликованы в общем доступе. Знание настроек Google и немного смекалки позволят найти массу интересного - от номеров кредиток до документов ФБР.

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

    К интернету сегодня подключают всё подряд, мало заботясь об ограничении доступа. Поэтому многие приватные данные становятся добычей поисковиков. Роботы-«пауки» уже не ограничиваются веб-страницами, а индексируют весь доступный в Сети контент и постоянно добавляют в свои базы не предназначенную для разглашения информацию. Узнать эти секреты просто - нужно лишь знать, как именно спросить о них.

    Ищем файлы

    В умелых руках Google быстро найдет все, что плохо лежит в Сети, - например, личную информацию и файлы для служебного использования. Их частенько прячут, как ключ под половиком: настоящих ограничений доступа нет, данные просто лежат на задворках сайта, куда не ведут ссылки. Стандартный веб-интерфейс Google предоставляет лишь базовые настройки расширенного поиска, но даже их будет достаточно.

    Ограничить поиск по файлам определенного вида в Google можно с помощью двух операторов: filetype и ext . Первый задает формат, который поисковик определил по заголовку файла, второй - расширение файла, независимо от его внутреннего содержимого. При поиске в обоих случаях нужно указывать лишь расширение. Изначально оператор ext было удобно использовать в тех случаях, когда специфические признаки формата у файла отсутствовали (например, для поиска конфигурационных файлов ini и cfg, внутри которых может быть все что угодно). Сейчас алгоритмы Google изменились, и видимой разницы между операторами нет - результаты в большинстве случаев выходят одинаковые.


    Фильтруем выдачу

    По умолчанию слова и вообще любые введенные символы Google ищет по всем файлам на проиндексированных страницах. Ограничить область поиска можно по домену верхнего уровня, конкретному сайту или по месту расположения искомой последовательности в самих файлах. Для первых двух вариантов используется оператор site, после которого вводится имя домена или выбранного сайта. В третьем случае целый набор операторов позволяет искать информацию в служебных полях и метаданных. Например, allinurl отыщет заданное в теле самих ссылок, allinanchor - в тексте, снабженном тегом , allintitle - в заголовках страниц, allintext - в теле страниц.

    Для каждого оператора есть облегченная версия с более коротким названием (без приставки all). Разница в том, что allinurl отыщет ссылки со всеми словами, а inurl - только с первым из них. Второе и последующие слова из запроса могут встречаться на веб-страницах где угодно. Оператор inurl тоже имеет отличия от другого схожего по смыслу - site . Первый также позволяет находить любую последовательность символов в ссылке на искомый документ (например, /cgi-bin/), что широко используется для поиска компонентов с известными уязвимостями.

    Попробуем на практике. Берем фильтр allintext и делаем так, чтобы запрос выдал список номеров и проверочных кодов кредиток, срок действия которых истечет только через два года (или когда их владельцам надоест кормить всех подряд).

    Allintext: card number expiration date /2017 cvv

    Когда читаешь в новостях, что юный хакер «взломал серверы» Пентагона или NASA, украв секретные сведения, то в большинстве случаев речь идет именно о такой элементарной технике использования Google. Предположим, нас интересует список сотрудников NASA и их контактные данные. Наверняка такой перечень есть в электронном виде. Для удобства или по недосмотру он может лежать и на самом сайте организации. Логично, что в этом случае на него не будет ссылок, поскольку предназначен он для внутреннего использования. Какие слова могут быть в таком файле? Как минимум - поле «адрес». Проверить все эти предположения проще простого.


    Inurl:nasa.gov filetype:xlsx "address"


    Пользуемся бюрократией

    Подобные находки - приятная мелочь. По-настоящему же солидный улов обеспечивает более детальное знание операторов Google для веб-мастеров, самой Сети и особенностей структуры искомого. Зная детали, можно легко отфильтровать выдачу и уточнить свойства нужных файлов, чтобы в остатке получить действительно ценные данные. Забавно, что здесь на помощь приходит бюрократия. Она плодит типовые формулировки, по которым удобно искать случайно просочившиеся в Сеть секретные сведения.

    Например, обязательный в канцелярии министерства обороны США штамп Distribution statement означает стандартизированные ограничения на распространение документа. Литерой A отмечаются публичные релизы, в которых нет ничего секретного; B - предназначенные только для внутреннего использования, C - строго конфиденциальные и так далее до F. Отдельно стоит литера X, которой отмечены особо ценные сведения, представляющие государственную тайну высшего уровня. Пускай такие документы ищут те, кому это положено делать по долгу службы, а мы ограничимся файлами с литерой С. Согласно директиве DoDI 5230.24, такая маркировка присваивается документам, содержащим описание критически важных технологий, попадающих под экспортный контроль. Обнаружить столь тщательно охраняемые сведения можно на сайтах в домене верхнего уровня.mil, выделенного для армии США.

    "DISTRIBUTION STATEMENT C" inurl:navy.mil

    Очень удобно, что в домене.mil собраны только сайты из ведомства МО США и его контрактных организаций. Поисковая выдача с ограничением по домену получается исключительно чистой, а заголовки - говорящими сами за себя. Искать подобным образом российские секреты практически бесполезно: в доменах.ru и.рф царит хаос, да и названия многих систем вооружения звучат как ботанические (ПП «Кипарис», САУ «Акация») или вовсе сказочные (ТОС «Буратино»).


    Внимательно изучив любой документ с сайта в домене.mil, можно увидеть и другие маркеры для уточнения поиска. Например, отсылку к экспортным ограничениям «Sec 2751», по которой также удобно искать интересную техническую информацию. Время от времени ее изымают с официальных сайтов, где она однажды засветилась, поэтому, если в поисковой выдаче не удается перейти по интересной ссылке, воспользуйся кешем Гугла (оператор cache) или сайтом Internet Archive.

    Забираемся в облака

    Помимо случайно рассекреченных документов правительственных ведомств, в кеше Гугла временами всплывают ссылки на личные файлы из Dropbox и других сервисов хранения данных, которые создают «приватные» ссылки на публично опубликованные данные. С альтернативными и самодельными сервисами еще хуже. Например, следующий запрос находит данные всех клиентов Verizon, у которых на роутере установлен и активно используется FTP-сервер.

    Allinurl:ftp:// verizon.net

    Таких умников сейчас нашлось больше сорока тысяч, а весной 2015-го их было на порядок больше. Вместо Verizon.net можно подставить имя любого известного провайдера, и чем он будет известнее, тем крупнее может быть улов. Через встроенный FTP-сервер видно файлы на подключенном к маршрутизатору внешнем накопителе. Обычно это NAS для удаленной работы, персональное облако или какая-нибудь пиринговая качалка файлов. Все содержимое таких носителей оказывается проиндексировано Google и другими поисковиками, поэтому получить доступ к хранящимся на внешних дисках файлам можно по прямой ссылке.

    Подсматриваем конфиги

    До повальной миграции в облака в качестве удаленных хранилищ рулили простые FTP-серверы, в которых тоже хватало уязвимостей. Многие из них актуальны до сих пор. Например, у популярной программы WS_FTP Professional данные о конфигурации, пользовательских аккаунтах и паролях хранятся в файле ws_ftp.ini . Его просто найти и прочитать, поскольку все записи сохраняются в текстовом формате, а пароли шифруются алгоритмом Triple DES после минимальной обфускации. В большинстве версий достаточно просто отбросить первый байт.

    Расшифровать такие пароли легко с помощью утилиты WS_FTP Password Decryptor или бесплатного веб-сервиса .

    Говоря о взломе произвольного сайта, обычно подразумевают получение пароля из логов и бэкапов конфигурационных файлов CMS или приложений для электронной коммерции. Если знаешь их типовую структуру, то легко сможешь указать ключевые слова. Строки, подобные встречающимся в ws_ftp.ini , крайне распространены. Например, в Drupal и PrestaShop обязательно есть идентификатор пользователя (UID) и соответствующий ему пароль (pwd), а хранится вся информация в файлах с расширением.inc. Искать их можно следующим образом:

    "pwd=" "UID=" ext:inc

    Раскрываем пароли от СУБД

    В конфигурационных файлах SQL-серверов имена и адреса электронной почты пользователей хранятся в открытом виде, а вместо паролей записаны их хеши MD5. Расшифровать их, строго говоря, невозможно, однако можно найти соответствие среди известных пар хеш - пароль.

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

    Intext:DB_PASSWORD filetype:env

    С появлением на серверах Windows место конфигурационных файлов отчасти занял реестр. Искать по его веткам можно точно таким же образом, используя reg в качестве типа файла. Например, вот так:

    Filetype:reg HKEY_CURRENT_USER "Password"=

    Не забываем про очевидное

    Иногда добраться до закрытой информации удается с помощью случайно открытых и попавших в поле зрения Google данных. Идеальный вариант - найти список паролей в каком-нибудь распространенном формате. Хранить сведения аккаунтов в текстовом файле, документе Word или электронной таблице Excel могут только отчаянные люди, но как раз их всегда хватает.

    Filetype:xls inurl:password

    С одной стороны, есть масса средств для предотвращения подобных инцидентов. Необходимо указывать адекватные права доступа в htaccess, патчить CMS, не использовать левые скрипты и закрывать прочие дыры. Существует также файл со списком исключений robots.txt, запрещающий поисковикам индексировать указанные в нем файлы и каталоги. С другой стороны, если структура robots.txt на каком-то сервере отличается от стандартной, то сразу становится видно, что на нем пытаются скрыть.

    Список каталогов и файлов на любом сайте предваряется стандартной надписью index of. Поскольку для служебных целей она должна встречаться в заголовке, то имеет смысл ограничить ее поиск оператором intitle . Интересные вещи находятся в каталогах /admin/, /personal/, /etc/ и даже /secret/.

    Следим за обновлениями

    Актуальность тут крайне важна: старые уязвимости закрывают очень медленно, но Google и его поисковая выдача меняются постоянно. Есть разница даже между фильтром «за последнюю секунду» (&tbs=qdr:s в конце урла запроса) и «в реальном времени» (&tbs=qdr:1).

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

    По виду адресной строки можно догадаться только о способе ограничить вывод результатов с помощью конструкции &tbs=qdr: . Буква y после нее задает лимит в один год (&tbs=qdr:y), m показывает результаты за последний месяц, w - за неделю, d - за прошедший день, h - за последний час, n - за минуту, а s - за секунду. Самые свежие результаты, только что ставшие известными Google, находится при помощи фильтра &tbs=qdr:1 .

    Если требуется написать хитрый скрипт, то будет полезно знать, что диапазон дат задается в Google в юлианском формате через оператор daterange . Например, вот так можно найти список документов PDF со словом confidential, загруженных c 1 января по 1 июля 2015 года.

    Confidential filetype:pdf daterange:2457024-2457205

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

    Таргетируемся и снова фильтруем

    Помимо указания дополнительных операторов в поисковом запросе их можно отправлять прямо в теле ссылки. Например, уточнению filetype:pdf соответствует конструкция as_filetype=pdf . Таким образом удобно задавать любые уточнения. Допустим, выдача результатов только из Республики Гондурас задается добавлением в поисковый URL конструкции cr=countryHN , а только из города Бобруйск - gcs=Bobruisk . В разделе для разработчиков можно найти полный список .

    Средства автоматизации Google призваны облегчить жизнь, но часто добавляют проблем. Например, по IP пользователя через WHOIS определяется его город. На основании этой информации в Google не только балансируется нагрузка между серверами, но и меняются результаты поисковой выдачи. В зависимости от региона при одном и том же запросе на первую страницу попадут разные результаты, а часть из них может вовсе оказаться скрытой. Почувствовать себя космополитом и искать информацию из любой страны поможет ее двухбуквенный код после директивы gl=country . Например, код Нидерландов - NL, а Ватикану и Северной Корее в Google свой код не положен.

    Часто поисковая выдача оказывается замусоренной даже после использования нескольких продвинутых фильтров. В таком случае легко уточнить запрос, добавив к нему несколько слов-исключений (перед каждым из них ставится знак минус). Например, со словом Personal часто употребляются banking , names и tutorial . Поэтому более чистые поисковые результаты покажет не хрестоматийный пример запроса, а уточненный:

    Intitle:"Index of /Personal/" -names -tutorial -banking

    Пример напоследок

    Искушенный хакер отличается тем, что обеспечивает себя всем необходимым самостоятельно. Например, VPN - штука удобная, но либо дорогая, либо временная и с ограничениями. Оформлять подписку для себя одного слишком накладно. Хорошо, что есть групповые подписки, а с помощью Google легко стать частью какой-нибудь группы. Для этого достаточно найти файл конфигурации Cisco VPN, у которого довольно нестандартное расширение PCF и узнаваемый путь: Program Files\Cisco Systems\VPN Client\Profiles . Один запрос, и ты вливаешься, к примеру, в дружный коллектив Боннского университета.

    Filetype:pcf vpn OR Group

    INFO Google находит конфигурационные файлы с паролями, но многие из них записаны в зашифрованном виде или заменены хешами. Если видишь строки фиксированной длины, то сразу ищи сервис расшифровки.

    Пароли хранятся в зашифрованном виде, но Морис Массар уже написал программу для их расшифровки и предоставляет ее бесплатно через thecampusgeeks.com .

    При помощи Google выполняются сотни разных типов атак и тестов на проникновение. Есть множество вариантов, затрагивающих популярные программы, основные форматы баз данных, многочисленные уязвимости PHP, облаков и так далее. Если точно представлять то, что ищешь, это сильно упростит получение нужной информации (особенно той, которую не планировали делать всеобщим достоянием). Не Shodan единый питает интересными идеями, но всякая база проиндексированных сетевых ресурсов!

    Кому может такое пригодится? Скрыть контент от незарегистрированных пользователей иногда необходимо для того чтобы расширить пользовательскую базу своего сайта. Так же, если у Вас например платная регистрация и та часть материала которая продается должна быть доступна только тем, кто купил доступ. Еще можно немного обратить способ и например, для простых посетителей показывать рекламу, а те кто вошел на сайт не будут видеть ее. В общем все зависит от Вашей фантазии и сложившихся нужд.

    Для того чтобы скрыть например часть содержимого внутри темы WordPress, то нужно ту часть которая будет скрываться от не авторизованных пользователей, заключить вот в такой код:

    Это условие, которое говорит, что если пользователь вошел в аккаунт, то показывать содержимое из второй строки, если нет то из четвертой. Если Вы хотите просто скрывать и не выводить больше никаких сообщений, то есть не авторизованные будут видеть пустоту, то удалите третью и четвертую строку. Получится так:

    Теперь представим ту ситуацию, о которой я писал выше, обратное условие где авторизованные не должны видеть например рекламу или кнопку входа и тд. Код будет таким:

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

    // Тут код рекламы, яваскрипт и тд.

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

    ?> Сюда что угодно // Содержание для зарегистрированных пользователей"; // Чтобы увидеть текст, Вам нужно авторизоваться

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

    Чтобы создать шорткод, Вам нужно открыть файл пользовательских функций из Вашей темы WordPress - function.php и добавить в него код приведенный ниже. Делать это нужно в самом конце, перед закрывающим тегом PHP.

    Function only_reg_info($atts,$content = null) { if (is_user_logged_in() && !is_null($content) && !is_feed()){ return $content; } else { return "";} } add_shortcode("forreg", "only_reg_info");

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

    В шестой строке указываем имя шорткода - forreg . Если хотите можете поменять на свое, но тогда не забудьте его менять и вдругих кодах которые будут указаны ниже в статье, дабы все продолжало работать, а Вы в гневе не писали мне что - НЕ РАБОТАЕТ!!!.

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

    //текст который спрячется для не авторизованных посетителей.

    Небольшой бонус

    Как и писал выше, хочу еще добавить небольшой бонус, который немного облегчит Вам постоянное использование шорткода. Чтобы каждый раз не печатать в ручную данный шорткод, предлагаю добавить кнопку в редактор добавить кнопку в текстовый HTML-редактор WordPress.

    Для этого в том же function.php , после функции с шорткодом добавьте еще вот такую функцию:

    Function add_new_quicktags() { if (wp_script_is("quicktags")) : ?> if (QTags) { QTags.addButton("forreg", "Для зарег.", "", "", "Для зарег.", "", 1); }

    
    Top