- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Написал ПО на php для автоматический чистки от шлака в текстовых объявлениях.
Есть описание с инструкцией и рекомендациями.
Почитать и скачать можно здесь: php-клиент для блокировки объявлений в AdSense.
С внешним видом можно ознакомиться: тут.
Обсуждение началось где-то здесь: /ru/forum/968625
Продолжим тут.
Компьютеров с разными php много, не у всех всё хорошо работает. Пишите у кого какие проблемы.
Прилагайте файлы ответов сервера, ибо без них, вероятно, помочь будет сложно. Как будет время буду разбираться с ошибками.
Запись файлов включается галочкой "Enable logs" Она внизу слева.
Файл пишутся во временную папку (tempdata) в папку logs.
Побыстрей бы версия 2.0, чтобы поставил, настроил и забыл :) Судя по куче ошибок и глюков разных у людей, пока ставить остерегаюсь :)
Но за софт спасибо, полезная штука.
Спасибо за усилия, но код ужасен :D
Спасибо за усилия, но код ужасен :D
Напишите лучше :) Критиковать не камни таскать 🤪
Пользователю главное что? Главное - результат :)
Отвечаю на вопросы заданные в другой теме:
Тоже не.
Какие функции в php.ini нельзя запрещать?
Цитата:
; This directive allows you to disable certain functions for security reasons.
; It receives a comma-delimited list of function names.
; http://php.net/disable-functions
disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled, pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror, pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,exec,passthru, shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
Из Вашего списка curl_exec никак нельзя.
time, file_put_contents, file_get_contents, file, json_encode, json_decode.
Пожалуй, не буду дальше. Обычные функции.
Notice: iconv(): Detected an illegal character in input string in /home/111/site.xyz/bad-ads-blocker/functions.php on line 278
Notice: iconv(): Detected an illegal character in input string in /home/111/site.xyz/bad-ads-blocker/functions.php on line 280
На одном сервере видел такое. Автоматическими проверками не удалось решить проблему. Почему-то условие с пустой строкой не срабатывало, хотя вывод был пуст.
Принял в план, поразмышляю над этим.
Новый 1.5 скрипт - залогинился вроде (написало в окошке Login successful!)
П.С. Правда при сохранении настроек ругалось на Заголовок в файле Warning: Cannot modify header information - headers already sent by (output started at D:\SERVER\OpenServer\domains\adsends\functions.php:498) in D:\SERVER\OpenServer\domains\adsends\settings\settings_update.php on line 13
Это я накосячил. Переводы строк в файле были перед header. У меня это ошибки не вызвало почему-то, исправил.
Возникает вопрос - в чем разница stopwords и bad ad text. Разная логика работы? Ведь в любом случае запрос с этим словом/текстом как фильтр посылается гуглу и тот отвечает списком объяв. Или здесь как-то по-другому?
Ведь один список на виду лучше чем два.
Добвил "суставы как в молодости" в stopwords - все прекрасно заблокировалось.
Разница лишь в том, что один список, который на виду сами заполняем.
А другой автоматически формируется из текстов заблокированных объявлений.
В текстах заблокированных объявлений могут быть слова, которые не подходят для блокировки.
В списках отсеиваются повторы и какой-то из них сортируется.
В общем их два, чтобы не мешать ручной набор слов и автоматический.
А при фильтрации никакой разницы нет. Оба списка сливаются в один массив поиска (если галки соответствующие стоят).
Еще. Запросы идут на новый ЦПО или старый? В новом, если пометить объявы как проверенные, они не будут появлятся в фильтре.
Запросы идут в старый ЦПО. Когда начинал у меня ещё не было нового. Он появился когда уже рабочий прототип очеловечивал. А в новом запросы другие. Если старый отключат, то придётся переписывать. Не знает кто-нибудь планы Google на старый ЦПО?
ps
"смотреть видео" - по этому фильтру было два объявления, одно текстовое, оно заблокировалось, а вот такое как на картинке не заблокировалось почемуто.
На картинке медийное. Они пока что не поддерживаются. Можно включить галку, если код поправить. И он будет запрашивать медийные. Но механизм разбора текста не подходит от текстовых, они выходят просто пустыми.
Необязательно тянуть весь Symfony, достаточно только одного этого компонента и подключить по Psr-4 + Composer. Это намного облегчит жизнь по парсингу, плюс в самом компоненте уже есть полная совместимость со всеми популярными версиями php.
P.S. Раньше я как и Вы кодил на чистом php. Как только перешел на фреймворки + composer, то как будто глоток свежего воздуха получил. Это нереально облегчит вам дальнейший код и сэкономит массу времени и нервов.
Да, понимаю даже, что это правильно, но пока что отложу. )
Поставил каждые 15 проверку )) Огонь!
Если бы можно было скрипт проверки в крон запихнуть, и через веб это контролировать, а я думаю что это можно сделать, то вообще зер гуд будет.
Так есть же поддержка cron, изначально это закладывал. У меня так и работает, захожу иногда посмотреть что там наблокировалось. Добавляйте search_bad_ads.php в cron и смотрите что будет.
ps.
Check for redirects вылазят ошибки. И понаблокировал целую кучу нормальных объяв ))
Да, это потому что на нормальных объявлениях тоже встречаются переадресации между доменами. А ещё с русскоязычными доменами косячит. Ещё не добрался до исправления этого.
Notice: Undefined variable: forms in /home/домен/public_html/login_functions.php on line 165
А Google прислал уведомление
"кто-то далеко завладел Вашим паролём и пытался войти, но я жёстко присёк попытку!"?
Если нет, то надо смотреть файлы.
Ни с того ни с сего перезаписался сеттингс, мыло стало *** gmail.com . Откуда он это выкапал?
Вобщем блокировал, блокировал и перестал. Может там каптча вылазит? попробую позже.
Может кто ещё зашёл и сменил? Других логичных объяснений не вижу...
если нажать Update settings
Warning: Cannot modify header information - headers already sent by (output started at /home/n//public_html/functions.php:498) in /home/n//public_html/settings/settings_update.php on line 13
ошибка при нажатии Login in Google
Notice: Undefined variable: forms in /home/Xxxx/public_html/login_functions.php on line 165
Этот косяк поправил, выложу.
sergeich_gs
Warning это не ошибки, как я понимаю, а предупреждения :)
error_reporting у вас натсроен без них, наверное 🙄
Побыстрей бы версия 2.0, чтобы поставил, настроил и забыл Судя по куче ошибок и глюков разных у людей, пока ставить остерегаюсь
Но за софт спасибо, полезная штука.
Да, поработать есть над чем. После 1.7 2.0 сделаю )
---------- Добавлено 26.10.2017 в 20:14 ----------
sergeich_gs
Warning это не ошибки, как я понимаю, а предупреждения :)
Да, Nitice тоже, только, как я понял ещё мене важное.
---------- Добавлено 26.10.2017 в 20:15 ----------
Спасибо за усилия, но код ужасен
Недооптимизирован? ))
Пользователю главное что? Главное - результат :)
Хорош результат будет после перехода автора по такой ссылке.
Или после просмотра этой "невидимой" картинки:
Ну это самое безобидное кнчн.
Оптимизайка, Так это надо самому так делать, только зачем? 🤪
Поставить deny from all или авторизацию простенькую и все дела :)
Если я вас правильно понял, я не шибко силен в PHP:)
Notice: Undefined index: HTTP_REFERER in /home/домен/public_html/334/settings/settings_update.php on line 13 Warning: Cannot modify header information - headers already sent by (output started at /домен/public_html/334/functions.php:498) in /home/домен/public_html/334/settings/settings_update.php on line 13
При нажатии кнопки обновления настроек.
Notice: Undefined variable: forms in /home/домен/public_html/334/login_functions.php on line 165
При нажатии Login in Goolt после ввода пароля.
Это ещё неисправлено в в версии 1.5 по ссылке для скачивания?
Спасибо за скрипт! Доработал под себя список стоп слов. А так все работает отлично.
Только не особо понял, зачем нужен bad ad text list, если тоже самое блокируется с помощью stopwords list.