General intitle все публикации пользователя предыдущая. Операторы поисковой системы Google

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


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

Навигация по статье:

Чем плохо иметь ссылку на автора публикации?

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

Представьте себе ситуацию, которая кстати очень часто встречается у новичков при работе с WordPress, на нашем блоге есть 100 статей одного и того же автора. И естественно все 100 статей имеют свою страницу с уникальным контентом. Что же произойдет когда мы перейдем по ссылке на автора статьи? Нам откроется информация имеющаяся о нем и… все его статьи в виде анонсов. Выходит что у нас есть 100 уникальных постов и одна страница автора которая дублирует все наши страницы и их текст.

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

Как убрать ссылку на автора статьи и дату публикации WordPress?

Все приведенные ниже процедуры мы можем так же посмотреть в видео уроке по данной теме:

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

Для начала откроем нашу страницу с публикацией. Затем наведем курсор на интересующий нас элемент и посмотрим его код.

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

Итак, разберем все по порядку:

  1. Главный блок в котором размещено название статьи, дата, автор и ссылка на его статьи.
  2. Div class=»entry-meta» это именно тот слой который нас интересует на данном этапе.
  3. Span class=»author vcard» так же является блочным элементом более низкого уровня в котором размещается наша ссылка.
  4. Непосредственно сама ссылка.

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

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

Для того что бы убрать ссылку автора статьи , открываем редактор нашей темы с , которую мы разбирали ранее. А еще лучше скачать файл index.php и content.php из нашего хостинга, что бы можно было восстановить при необходимости нашу тему.

Открываем с редактора файл index.php и ищем нужные нам div-ы, если таких мы не обнаружили, открываем файл content.php и находим их там. Все зависит от того как разработчики темы настроили ее.

Файлы могут называться и по другому по этому нужно знать как найти то что нужно, заходим в редактор нажимаем комбинацию клавиш Ctrl + F и вводим в поиск искомое название.

После того как нашли нужный нам класс блока анализируем запись внутри его.

Когда мы нашли интересующий нас div, в нашем случае это div class=»entry-meta» в котором и размещается наши дата и автор статьи нам нужно определиться что мы конкретно хотим. Если мы хотим полностью убрать дату и автора при публикации тогда просто удаляем выделенный в квадрат фрагмент кода, сохраняем наш файл и забываем о данной проблеме.

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

Как мы можем видеть нашу дату и автора выводит функция php generate_posted_on() которую нам следует найти в другом файле, в моем случае это template-tags.php в вашем это может быть другой файл и вам придется перебрать все файлы в поиске описания функции, таким же способом как мы искали класс дива.

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

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

Часто задаваемые вопросы:

Стоит ли полностью удалять дату публикации и автора на блоге WordPress?

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

Зачем убирать ссылку на автора в WordPress?

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

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

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

Зачем нужно

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

Как этим пользоваться

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

Просмотр историй

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

Для просмотра нужно просто тапнуть по кружку. Откроется фото или видео, которое будет отображаться 10 секунд. Тап с удержанием приостанавливает ролик.

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

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

Комментировать рассказы можно лишь с помощью сообщений, которые отправляются в Direct и видны только автору, а не всем подписчикам. Баг это или фича, неизвестно.

Создание историй

Нажатие на плюсик вверху ленты и свайп от края экрана вправо открывает меню записи нового рассказа. Здесь всё просто: делаем тап по кнопке записи - получаем фото, удерживаем её - снимаем видео.

Съёмка или загрузка

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

Обработка

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

Фильтры переключаются по кругу простыми смахиваниями от края экрана. Всего их шесть, включая радужный градиент, как на иконке Instagram.

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

У рисования немного больше возможностей. В нашем распоряжении палитра и целых три кисти: обычная, маркер и с «неоновой» обводкой. Рисовать можно сразу всеми, при этом неудачный штрих можно отменить.

Удовлетворены результатом? Нажмите кнопку с галочкой, и ваш ролик станет доступен подписчикам. Его можно сохранить в галерею как до этого, так и после.

Настройки приватности, статистика

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

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

Как с этим жить

Нормально. Да, многие восприняли Stories в штыки из-за сходства со Snapchat и нерешённых проблем Instagram, на которых стоило бы сосредоточиться разработчикам. Но я считаю нововведение полезным.

Проблема захламлённости ленты, когда приходится отписываться от друзей, выкладывающих буквально каждый свой шаг, существовала давно, и внятного её решения так и не придумали. Рассказы можно считать первым шагом к этому. Со временем люди должны свыкнуться с культурой поведения, предлагаемой , и начать постить в ленту только действительно важный и заслуживающий внимания контент. Всё остальное должно попадать в Stories. Правда же?

Доброго времени суток. Сегодня поговорим о защите и доступе к камерам видеонаблюдения. Их достаточно много и используются они для разных целей. Как всегда будем использоваться стандартную базу, которая позволит нам находить такие камеры и подбирать к ним пароли. Теория Большинство устройств после установки никто не настраивает или обновляет. Поэтому наша целевая аудитория находиться под популярными портам 8000, 8080 и 554. Если нужно провести сканирование сети, то лучше сразу выделять эти порты. Способ№1 Для наглядного примера можно посмотреть интересные запросы в поисковиках Shodan и Сensys. Рассмотрим несколько наглядных примеров с простыми запросами. has_screenshot:true port:8000 // 183 результата; has_screenshot:true port:8080 // 1025 результатов; has_screenshot:true port:554 // 694 результата; Вот таким простым способом можно получить доступ к большому количеству открытых камер, которые размещены в интересных местах: магазинах, больницах, заправках и т.д. Рассмотрим для наглядности несколько интересных вариантов. Приемная у врача Частный где-то в глубине Европы Класс где-то в Челябинске Магазин женской одежды Таким простым способом можно найти достаточно много интересных объектов, к которым открыт доступ. Не забывайте, что можно применять фильтр country для получения данных по странам. has_screenshot:true port:8000 country:ru has_screenshot:true port:8080 country:ru has_screenshot:true port:554 country:ru Способ №2 Можно воспользоваться поиском стандартных социальных сетей. Для этого лучше использовать заголовки страниц при просмотре изображений с камер, вот такая подборка среди самых интересных вариантов: inurl:/view.shtml inurl:ViewerFrame?Mode= inurl:ViewerFrame?Mode=Refresh inurl:view/index.shtml inurl:view/view.shtml intitle:”live view” intitle:axis intitle:liveapplet all in title:”Network Camera Network Camera” intitle:axis intitle:”video server” intitle:liveapplet inurl:LvAppl intitle:”EvoCam” inurl:”webcam.html” intitle:”Live NetSnap Cam-Server feed” intitle:”Live View / - AXIS 206M” intitle:”Live View / - AXIS 206W” intitle:”Live View / - AXIS 210″ inurl:indexFrame.shtml Axis intitle:start inurl:cgistart intitle:”WJ-NT104 Main Page” intitle:snc-z20 inurl:home/ intitle:snc-cs3 inurl:home/ intitle:snc-rz30 inurl:home/ intitle:”sony network camera snc-p1″ intitle:”sony network camera snc-m1″ intitle:”Toshiba Network Camera” user login intitle:”i-Catcher Console - Web Monitor” Пожинаем плоды и находим аэропорт Офис компании Добавим в коллекцию еще порт и можно завершать Способ №3 Этот способ является целевым. Он применяется когда у нас есть либо одна точка и нужно подобрать пароль или мы хотим прогнать базу по стандартным паролям и найти валидные результаты. Для этих целей отлично подойдет Hydra. Для этого необходимо подготовить словар. Можно пробежаться и поискать стандартные пароли для роутеров. Давайте рассмотрим на конкретном примере. Есть модель камеры, DCS-2103. Она достаточно часто встречается. Работает она через порт 80. Давайте воспользуемся соответствующими данными и найдем необходимую информацию в shadan. Далее собираем все IP потенциальных целей, которые нам интересны. Далее формируем список. Собираем список паролей и будем все это использовать это с помощью утилиты hydra. Для этого нам необходимо добавить в папку словарь, список IP и выполнить вот такую команду: hydra -l admin -P pass.txt -o good.txt -t 16 -vV -M targets.txt http-get В корневой папке должен быть файл pass.txt с паролями, логин мы используем один admin с параметром -l, если нужно задать словарь для логинов, то необходимо добавит в корневую директорию файл и прописать его с параметром -L. Подобранные результаты будут сохраняться в файле good.txt. Список IP адресов нужно добавить в корневой каталог с файлом targets.txt. Последняя фраза в команде http-get отвечает за соединение через порт 80. Пример работы программы Ввод команды и начало работы В конце хочу добавит немного информации о сканировании. Чтобы получить номера сетей можно воспользоваться отличным сервисом. Далее эти сетки нужно проверить на наличие необходимых нам портов. Сканеров рекомендовать не буду, но скажу что стоить двигать в сторону таких и подобных сканеров, как masscan, vnc scanner и другие. Можно написать на основе известной утилиты nmap. Главное задача - просканировать диапазон и найти активные IP с необходимыми портами. Заключение Помните, что помимо стандартного просмотра можно делать еще фото, записывать видео и скачивать его себе. Также можно управлять камерой и поворачивать в нужные направления. А самое интересное - это возможность включать звуки и говорить на некоторых камерах. Что можно тут посоветовать? Ставить надежный пароль доступа и обязательно перебрасывать порты.

Получение частных данных не всегда означает взлом - иногда они опубликованы в общем доступе. Знание настроек 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 единый питает интересными идеями, но всякая база проиндексированных сетевых ресурсов!


2.
3.
4.
5. Ожидания
6.
7. WebDriver API
8. Приложение: Часто Задаваемые Вопросы

5. Ожидания

В наши дни большинство веб-приложений используют AJAX технологии. Когда страница загружена в браузере, элементы на этой странице могут подгружаться с различными временными интервалами. Это затрудняет поиск элементов, если элемент не присутствует в DOM , возникает исключение ElementNotVisibleException. Используя ожидания, мы можем решить эту проблему. Ожидание дает некий временной интервал между произведенными действиями - поиске элемента или любой другой операции с элементом.

Selenium WebDriver предоставляет два типа ожиданий - неявное (implicit) и явное (explicit). Явное ожидание заставляет WebDriver ожидать возникновение определенного условия до произведения действий. Неявное ожидание заставляет WebDriver опрашивать DOM определенное количество времени, когда пытается найти элемент.

5.1 Явные ожидания

Явное ожидание - это код, которым вы определяете какое необходимое условие должно произойти для того, чтобы дальнейший код исполнился. Худший пример такого кода - это использование команды time.sleep(), которая устанавливает точное время ожидания. Существуют более удобные методы, которые помогут написать вам код, ожидающий ровно столько, сколько необходимо. WebDriverWait в комбинации с ExpectedCondition является одним из таких способов.

From selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver = webdriver.Firefox() driver.get("http://somedomain/url_that_delays_loading") try: element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "myDynamicElement"))) finally: driver.quit()
Этот код будет ждать 10 секунд до того, как отдаст исключение TimeoutException или если найдет элемент за эти 10 секунд, то вернет его. WebDriverWait по умолчанию вызывает ExpectedCondition каждые 500 миллисекунд до тех пор, пока не получит успешный return. Успешный return для ExpectedCondition имеет тип Boolean и возвращает значение true, либо возвращает not null для всех других ExpectedCondition типов.

Ожидаемые условия
Существуют некие условия, которые часто встречаются при автоматизации веб-сайтов. Ниже перечислены реализации каждого. Связки в Selenium Python предоставляют некоторые удобные методы, так что вам не придется писать класс expected_condition самостоятельно или же создавать собственный пакет утилит.

  • title_is
  • title_contains
  • presence_of_element_located
  • visibility_of_element_located
  • visibility_of
  • presence_of_all_elements_located
  • text_to_be_present_in_element
  • text_to_be_present_in_element_value
  • frame_to_be_available_and_switch_to_it
  • invisibility_of_element_located
  • element_to_be_clickable - it is Displayed and Enabled.
  • staleness_of
  • element_to_be_selected
  • element_located_to_be_selected
  • element_selection_state_to_be
  • element_located_selection_state_to_be
  • alert_is_present
from selenium.webdriver.support import expected_conditions as EC wait = WebDriverWait(driver, 10) element = wait.until(EC.element_to_be_clickable((By.ID,"someid")))
Модуль expected_conditions уже содержит набор предопределенных условий для работы с WebDriverWait.

5.2 Неявные ожидания

Неявное ожидание указывает WebDriver"у опрашивать DOM определенное количество времени, когда пытается найти элемент или элементы, которые недоступны в тот момент. Значение по умолчанию равно 0. После установки, неявное ожидание устанавливается для жизни экземпляра WebDriver объекта.

From selenium import webdriver driver = webdriver.Firefox() driver.implicitly_wait(10) # seconds driver.get("http://somedomain/url_that_delays_loading") myDynamicElement = driver.find_element_by_id("myDynamicElement")
Перейти к следующей главе.




Top