Средствами mod_rewrite проверять наличие определенной куки.
Если её нет, отдавать страницу с 403 ошибкой, на которой javascript установит куки и обновит страницу.
Содержимое .htaccess
ErrorDocument 403 /js_cookie.html RewriteEngine On RewriteCond %{HTTP_COOKIE} !mytoken=blabla RewriteRule ^secret_zone - [F]
Содержимое js_cookie.html
<html> <head> <script> function set_cookie() { var now = new Date(); now.setTime(now.getTime()+(30*86400*1000)); document.cookie = 'mytoken=blabla' + '; expires=' + now.toGMTString() + '; path=/'; } set_cookie(); location.reload();; </script> </head> <body></body> </html>
В теме про antiddos-решения упоминался способ без iptables
/ru/forum/comment/11618405;postcount=12
Небось joomla 1.5, а php обновили до 5.4.
Ну, для VLC согласно документации https://wiki.videolan.org/Rtmp/
нужное значение swfurl установит --avio-options={rtmp_swfurl=http://velton.ua/}
Строка запуска будет такая:
vlc "rtmp://85.90.192.233/rtplive2/veltonQuality50.stream" --avio-options={rtmp_swfurl=http://velton.ua/ru/webcams/VeltonPlayer.swf} --no-audio
Их флеш плеер отказывается работать вне домена velton.ua.
Так что нужен плеер способный ставить произвольное значение в swfurl.
Насчет jwplayer, не знаю, умеет ли он такое.
Либо поднять свой сервер для ретрансляции, который будет тянуть видео с источника и самостоятельно раздавать в удобном виде.
Там фокус в том, что rtmp сервер при подключении проверяет параметр swfUrl.
Если адрес не на домене velton.ua, сразу отфутболивает.
http://stream-recorder.com/forum/velton-stream-capturing-problem-t11160.html?
Вам только подставить в команду veltonQuality50.stream
Роботы гугла не добавляют таких номеров в юзер агент https://support.google.com/webmasters/answer/1061943.
Значит, поддельных ботов легко можно отличить по этим номерам.
Не мешало бы вызывать mysql_error перед аварийным завершением скрипта.
И подключаться к базе нужно до того как вызываете mysql_real_escape_string.
Дело в том, что mysql_real_escape_string производит экранирование с учетом кодировки соединения с базой данных, и если нет открытого соединения, возвратит false.
Если атакующие боты не заполняют должным образом поле From:
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} Googlebot RewriteCond %{HTTP:FROM} !^googlebot\(at\)googlebot\.com$ RewriteRule ^ - [F]
У вас собственный формат логов или там действительно такой юзер агент с 853628 в конце?
177.129.214.45 - - [08/Mar/2014:18:09:39 +0400] "GET / HTTP/1.1" 200 299 "-" "Googlebot/2.1 (+http://www.google.com/bot.html) 853628"
Речь шла о:
$headers .= "Content-Type: $content charset=$charset\r\n";
В config объявлено $content = "text/plain";
Т.е. нужно исправить на:
$headers .= "Content-Type: $content; charset=\"$charset\"\r\n";
Немного о почтовых заголовках http://habrahabr.ru/post/17531/