- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Проблема в следующем
.htaccess
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?fotomaps\.ru/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?fotomaps\.ru$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mailchimp\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mailchimp\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?paypal\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?paypal\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?craigslist\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?craigslist\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?gravatar\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?gravatar\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?wp\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?wp\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?twitter\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?twitter\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?pinterest\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?pinterest\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?linkedin\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?linkedin\.com$ [NC]
RewriteCond %{HTTP_USER_AGENT} !googlebot-image [NC]
RewriteCond %{HTTP_USER_AGENT} !googlebot [NC]
RewriteCond %{HTTP_USER_AGENT} !googlebot-news [NC]
RewriteCond %{HTTP_USER_AGENT} !googlebot-video [NC]
RewriteCond %{HTTP_USER_AGENT} !googlebot-mobile [NC]
RewriteCond %{HTTP_USER_AGENT} !mediapartners-google [NC]
RewriteCond %{HTTP_USER_AGENT} !mediapartners [NC]
RewriteCond %{HTTP_USER_AGENT} !adsbot-google [NC]
RewriteCond %{HTTP_USER_AGENT} !bingbot [NC]
RewriteCond %{HTTP_USER_AGENT} !facebookexternalhit [NC]
RewriteCond %{HTTP_USER_AGENT} !linkedinbot [NC]
RewriteCond %{HTTP_USER_AGENT} !baiduspider [NC]
RewriteCond %{HTTP_USER_AGENT} !duckduckbot [NC]
RewriteCond %{HTTP_USER_AGENT} !yandex [NC]
RewriteCond %{HTTP_USER_AGENT} !sogou [NC]
RewriteCond %{HTTP_USER_AGENT} !twitterbot [NC]
RewriteCond %{HTTP_USER_AGENT} !pinterest [NC]
RewriteCond %{HTTP_USER_AGENT} !photon [NC]
RewriteCond %{HTTP_USER_AGENT} !tineye [NC]
RewriteCond %{HTTP_USER_AGENT} !ggpht [NC]
RewriteRule (.*)js/(.*\.(jpg|jpeg|gif|png))$ $1watermark.php?p=c&q=90&src=js/$2
watermark.php
<?php
//we tell the server to treat this file as if it were an image
header('Content-type: image/jpeg');
//image file path
$img = $_GET['src'];
//watermark position
$p = $_GET['p']; if(!$p) $p = 'br';
/*
p can be anything from the following list:
tl = top left
tc = top center
tr = top right
cl = center left
c = center of the image
cr = center right
bl = bottom left
bc = bottom center
br = bottom right
*/
//watermarked image quality
$q = $_GET['q'];
//if the quality field is missing or is not on the 0 to 100 scale then we set the quality to 93
if(!$q || $q100) $q = '95';
$filetype = substr($img,strlen($img)-4,4);
$filetype = strtolower($filetype);
if($filetype == ".gif") $image = @imagecreatefromgif($img);
if($filetype == ".jpg") $image = @imagecreatefromjpeg($img);
if($filetype == ".png") $image = @imagecreatefrompng($img);
if (!$image) die();
//getting the image size for the original image
$img_w = imagesx($image);
$img_h = imagesy($image);
/*
//if the filename has 150x150 in it's name then we don't apply the watermark
if (eregi("150x150", $img)) {
imagejpeg($image, null, $q); die();
} else {
$watermark = @imagecreatefrompng('watermark.png');
}
*/
//if you want to use the watermark only on bigger images then use this instead of the condition above
if ($img_w < "350") {//if image width is less then 150 pixels
imagejpeg($image, null, $q); die();
} else {
$watermark = @imagecreatefrompng('watermark.png');
}
//getting the image size for the watermark
$w_w = imagesx($watermark);
$w_h = imagesy($watermark);
if($p == "tl") {
$dest_x = 0;
$dest_y = 0;
} elseif ($p == "tc") {
$dest_x = ($img_w - $w_w)/2;
$dest_y = 0;
} elseif ($p == "tr") {
$dest_x = $img_w - $w_w;
$dest_y = 0;
} elseif ($p == "cl") {
$dest_x = 0;
$dest_y = ($img_h - $w_h)/2;
} elseif ($p == "c") {
$dest_x = ($img_w - $w_w)/2;
$dest_y = ($img_h - $w_h)/2;
} elseif ($p == "cr") {
$dest_x = $img_w - $w_w;
$dest_y = ($img_h - $w_h)/2;
} elseif ($p == "bl") {
$dest_x = 0;
$dest_y = $img_h - $w_h;
} elseif ($p == "bc") {
$dest_x = ($img_w - $w_w)/2;
$dest_y = $img_h - $w_h;
} elseif ($p == "br") {
$dest_x = $img_w - $w_w;
$dest_y = $img_h - $w_h;
}
imagecopy($image, $watermark, $dest_x, $dest_y, 0, 0, $w_w, $w_h);
imagejpeg($image, null, $q);
imagedestroy($image);
imagedestroy($watermark);
?>
почему то даже не хочет выполнять на сервере скрипт
http://fotomaps.ru/watermark.php?p=c&q=90&src=js/ecl4s2atbgq.jpg
на другом сервере скрип выполняется
http://aksuchess.ru/watermark.php?p=c&q=90&src=gazet/k-5.jpg
но не защищает от хостлинга
в чем могут быть проблемы? не подскажите?
проблема первого сервера может быть в nginxe и apache ? кто как решал эту проблему?
почему то даже не хочет выполнять на сервере скрипт
http://fotomaps.ru/watermark.php?p=c&q=90&src=js/ecl4s2atbgq.jpg
на другом сервере скрип выполняется
http://aksuchess.ru/watermark.php?p=c&q=90&src=gazet/k-5.jpg
1) Замените в заголовке header('Content-type: image/jpeg');
на header('Content-type: text/html');
если скрипт генерит предупреждения - увидите их. Потом верните назад, если все нормально.
2) в php.ini отключите выдачу предупреждений
error_reporting = E_ERROR
3) php должен быть собран с поддержкой GD. phpinfo() вам в помощь.
4) в /etc/conf.d/apache2 должна быть включена поддержка PHP
APACHE2_OPTS="-D DEFAULT_VHOST -D FASTCGI -D PHP5"
---------- Добавлено 15.02.2015 в 15:46 ----------
И да, rewrite для googlebot у вас не срабатывает, ищите в .htaccess ошибку
Генирирует
Notice: Undefined variable: q100 in www/fotomaps.ru/watermark.php on line 23 ����JFIF��;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90 ��C
��C ��V"�� ���}!1AQa"q2���#B��R��$3br�
Значит - он воспринимает переменную как неизвестную на 23 строке
---------- Добавлено 15.02.2015 в 15:49 ----------
1) Замените в заголовке header('Content-type: image/jpeg');
на header('Content-type: text/html');
если скрипт генерит предупреждения - увидите их. Потом верните назад, если все нормально.
2) в php.ini отключите выдачу предупреждений
error_reporting = E_ERROR
3) php должен быть собран с поддержкой GD. phpinfo() вам в помощь.
4) в /etc/conf.d/apache2 должна быть включена поддержка PHP
APACHE2_OPTS="-D DEFAULT_VHOST -D FASTCGI -D PHP5"
---------- Добавлено 15.02.2015 в 15:46 ----------
И да, rewrite для googlebot у вас не срабатывает, ищите в .htaccess ошибку
А как вы узнали срабатывает ли rewrite? не подскажете
А как вы узнали срабатывает ли rewrite? не подскажете
Во второй теме одно и тоже пишу :)
Ставите RDS бар в Мозиллу, меняете user agent на google и тестируете. Сейчас он не срабатывает, ватермарк не появляется.
1) Замените в заголовке header('Content-type: image/jpeg');
на header('Content-type: text/html');
если скрипт генерит предупреждения - увидите их. Потом верните назад, если все нормально.
2) в php.ini отключите выдачу предупреждений
error_reporting = E_ERROR
3) php должен быть собран с поддержкой GD. phpinfo() вам в помощь.
4) в /etc/conf.d/apache2 должна быть включена поддержка PHP
APACHE2_OPTS="-D DEFAULT_VHOST -D FASTCGI -D PHP5"
---------- Добавлено 15.02.2015 в 15:46 ----------
И да, rewrite для googlebot у вас не срабатывает, ищите в .htaccess ошибку
3 и 4 на сервере есть и все нормально, уточнил у тех поддержки,
по-поводу 2 - а зачем ее выключать?
похоже дело в чем то другом(
adelbaew, а тимтхумб с кешированием вас не устроил, который я выложил в своей теме?
этот скрипт даже при 1-2 тыс человек/сутки создаст очень высокую нагрузку на хостинге.
в тимтхумб я дописал кеширование и если картинка уже запрашивалась, то ее скрипт не генерит, а выдает сгененированную ранее, то есть нагрузка на хостинге нулевая. А данный скрипт при каждом обращении к картинке генерит ее через php.
полностью исходники были тут http://dev.drupalworld.ru/googlepics.rar
я же говорил вам через ЛС, что в моей теме они есть.
---------- Добавлено 15.02.2015 в 20:55 ----------
RewriteRule (.*)js/(.*\.(jpg|jpeg|gif|png))$ $1watermark.php?p=c&q=90&src=js/$2
эту строчку бы проверить, и зачем ее так усложнять
можно же все что в указанной папке пропускать (ваша папка js вместо моей uploads), типа так
3 и 4 на сервере есть и все нормально, уточнил у тех поддержки,
по-поводу 2 - а зачем ее выключать?
похоже дело в чем то другом(
Сначала разберитесь с ошибкой, которая у вас на экран лезет. Пока там будут любые сообщения, отличные от бинарной строки картинки, не заработает.
2) php может генерить несущественные предупреждения. если ониу вас вылезут вместе с кодом картинки, но будет опять же ерунда. Но в принципе, можете и не отключать, если код будет отлажен и предупреждений не будет.
С ошибкой разбирайтесь...
adelbaew, а тимтхумб с кешированием вас не устроил, который я выложил в своей теме?
этот скрипт даже при 1-2 тыс человек/сутки создаст очень высокую нагрузку на хостинге.
в тимтхумб я дописал кеширование и если картинка уже запрашивалась, то ее скрипт не генерит, а выдает сгененированную ранее, то есть нагрузка на хостинге нулевая. А данный скрипт при каждом обращении к картинке генерит ее через php.
полностью исходники были тут http://dev.drupalworld.ru/googlepics.rar
я же говорил вам через ЛС, что в моей теме они есть.
---------- Добавлено 15.02.2015 в 20:55 ----------
эту строчку бы проверить, и зачем ее так усложнять
можно же все что в указанной папке пропускать (ваша папка js вместо моей uploads), типа так
это отличный скрипт - я его пробывал - но вот у меня он
вот так работает -
http://alpolymer.ru/timthumb.php?wm=1&src=images/slide4.jpg
но если проверить на хотлинг
http://www.free-webhosts.com/hotlinking-checker.php
вставить туда вот эту ссылку http://alpolymer.ru/images/slide4.jpg
то уже видно - что не работает - а почему - понять не могу(((
из всего я только здесь менял
RewriteCond %{HTTP_REFERER} !^http://([^.]+\.)?alpolymer\.ru/ [NC]
RewriteCond %{HTTP_USER_AGENT} !(googlebot-image|msnbot|psbot|slurp|yahoo-mmcrawler|bingbot|yandex) [NC]
RewriteRule (^images.*\.(bmp|gif|jpe?g|png)$) /timthumb.php?wm=1&src=$1 [L]
может что не правильно?
adelbaew,
я понимаю так (на самом деле я не программист) - если картинка запрашивается не на нашем сайте alpolymer, мы отдаем водяной знак, всему остальному оригинальную картинку. Ботов исключаем, чтобы те видели оригинальные картинки.
Хотлинкинг на чужих сайтах и водяной знак в гугл-картинках одновременно работать не будут. Это паранойя, копипастеры просто скачают картинку к себе на сайт.
adelbaew,
я понимаю так (на самом деле я не программист) - если картинка запрашивается не на нашем сайте alpolymer, мы отдаем водяной знак, всему остальному оригинальную картинку. Ботов исключаем, чтобы те видели оригинальные картинки.
Хотлинкинг на чужих сайтах и водяной знак в гугл-картинках одновременно работать не будут. Это паранойя, копипастеры просто скачают картинку к себе на сайт.
Правильно ли я понимаю - что все работает - и если бы картинки были в выдаче гугл - то все работало?
я бы просто имел возможность проверить?