в теории так:
после первого нажатия на кнопку, js-скрипт берет данные с клиента: ип, браузер, разрешение экрана, тип ОС и тд и заносит в список, где ИД - ип-адрес
при следующем заходе на страницу js-скрипт делает запрос на сервер по IP и получает ответ по данным клиента и сравнивает с текущими данными. если совпадают - кнопка дисаблится.
в апреле был введен новый алгоритм гугла. У меня траф сначала вырос, потом упал вдвое.
значит у конкурентов вырос. проблема в том, что гугл посчитал, что конкуренты выглядят лучше.
если есть доступ в юникс консоль, это делается в одну строчку
urls.txt:
http://урл.сайта...
cat urls.txt | xargs -I {} wget -qO- {} | egrep -i '<title>.+<\/title>' |sed -r 's/<\/?title>//g' >> outfile.txt
"could not bind to address 127.0.0.1:8080" - уже что-то сидит на этом порту, например тот же апач.
если апач, к примеру - убить его руками типа
killall apache2 (или killall httpd)
зайти в /var/run - удалить apache2.pid или httpd.pid
попытаться запустить апач.
если не апач, смотреть по netstat что занимает этот порт
далее искать в ps ax
RewriteCond %{HTTP_HOST} ^(.+)\.test\.ru$ RewriteRule ^.* /subdomains/%1%{REQUEST_URI} [L]
сейчас не упомню. Я настраивал как-то у себя автосубдомены давно. Апачем уже давно не пользуюсь.
if(!preg_match("^/\/1\/.+$/im",$_SERVER['REQUEST_URI'])) { ничего не делать }
или кто-то воткнул соксы.
ps ax|grep sock
ps ax|grep ssh
(кроме своей ssh-сессии остальные будут вызывать подозрение)
ps ax|grep vpn
что-то да и должно выявится
Disallow: /12187*
проверить:
https://webmaster.yandex.com/tools/robotstxt/
хотя disallow запрещает индексацию страниц, но это не значит, что робот их не парсит.
чтобы запретить доступ к этим страницам, лучше по маске поставить ответ 404
типа
if(strpos($_SERVER['REQUEST_URI'],'/12187')!==false) exit(http_response_code(404));
гуглите массовую замену через sed
find /path -name "имя.файла.html" -print|xargs -I {} sed -i 's/что меняем/на что меняем/g'
если в "что меняем" есть символ "/",
тогда 's{что меняем{на что меняем{g' к примеру
конфиг апача
<VirtualHost 192.168.1.17> UseCanonicalName Off ServerAdmin webmaster@my-local ServerName test.ru ServerAlias *.test.ru VirtualDocumentRoot /path/test.ru/%1 ErrorLog /path/subs.test_error.log CustomLog /path/subs.test_access.log common <Directory /path/test.ru/> AllowOverride All Order allow,deny Allow from all </Directory></VirtualHost>
.htaccess
RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]RewriteRule ^(.*) http://%1/$1 [R=301,NE,L]
subdomain1.subdomain2.test.ru -> идет в папку /path/test.ru/subdomain1/subdomain2/