Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Скрипт редиректа
цитата
11/02/06 в 19:05
 BB
Плиз. Нодобен скриптик (php или javascript) для блокировки или редиректа русски[ и всяких румынов, латвийцев... Пробовал искать и по форуму и в нете понятного не на нашел. Помогите чем сможете
цитата
11/02/06 в 21:09
 Sterx
.htaccess
Код:
RewriteEngine On
RewriteCond %{HTTP_ACCEPT_LANGUAGE} de.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} de-ch.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} at.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} en-gb.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} de-at.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} de-li.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} fr-ch.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} ch.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} de-de.* [NC,OR]
RewriteRule .* http://myurl.com [R,L]

JS
Код:
<script language="JavaScript">
var language1, language2, i, f;
var loc = new Array("at","au","be","ca","dk","es","fi","gr","ch","de-ch","de",
"fr","en-ie","ie","en-gb","nl","it","gb","no","pt","nz","us");
if (navigator.appName.indexOf("Microsoft") != -1) {
language1=navigator.systemLanguage.toLowerCase();
language2=navigator.userLanguage.toLowerCase();
} else { language1=language2=navigator.language.toLowerCase(); }
for (f=false,i=0;i<loc.length;i++) { if ((language1 == loc[i])
|| (language2 == loc[i])) { f = true; break; } }
if (f) window.open("http://page_with_toolbar_code");
</script>
цитата
11/02/06 в 21:11
 BB
Спасибо. Но мне надо "расжеваный" скрипт т.к. знаю тока html , подскажите как в html код вставить это все.
цитата
11/02/06 в 21:29
 Jarro
Первый пример не вставляется в html, а вставляется в файл .htaccess, который кладется рядом со всеми остальными html-ками..

Второй просто берешь и вставляешь, между <head> и </head> или сразу после <body>.

Оффтопик: Понабежало с 2 постами, которым все разжуй и в рот положи.. smail115.gif
цитата
12/02/06 в 00:14
 BB
Большое спасибо. Оценил+3 ;)
цитата
15/02/06 в 23:27
 BB
А кто-нить знает что надо в этом коде переписать, что бы он РАЗРЕШАЛ этим языкам дальнейший просмотр страницы, а не редиректил Sterx писал:
JS
Код:
<script language="JavaScript">
var language1, language2, i, f;
var loc = new Array("at","au","be","ca","dk","es","fi","gr","ch","de-ch","de",
"fr","en-ie","ie","en-gb","nl","it","gb","no","pt","nz","us");
if (navigator.appName.indexOf("Microsoft") != -1) {
language1=navigator.systemLanguage.toLowerCase();
language2=navigator.userLanguage.toLowerCase();
} else { language1=language2=navigator.language.toLowerCase(); }
for (f=false,i=0;i<loc.length;i++) { if ((language1 == loc[i])
|| (language2 == loc[i])) { f = true; break; } }
if (f) window.open("http://page_with_toolbar_code");
</script>

Ну уж помогите тупой блондинке с 3 постами ;)
цитата
19/02/06 в 00:31
 photomuza
BB писал:
А кто-нить знает что надо в этом коде переписать, что бы он РАЗРЕШАЛ этим языкам дальнейший просмотр страницы, а не редиректил

В чем суть вопроса-то? smail102.gif Что переписывать-то, зачем? Нужен редирект - ставишь, не нужен - убираешь. Или заключи скрипт в тег <!-- --> (комментарий). Т.е. :

Код:
<!--
ТВОЙ_СКРИПТ
-->


Или ты по конкретным странам хотел спросить? Так в указанном скрипте это список (массив т.е.) стран для редиректа:
("at","au","be","ca","dk","es","fi","gr","ch","de-ch","de",
"fr","en-ie","ie","en-gb","nl","it","gb","no","pt","nz","us");
fr - Франция
us - США
de - Германия
Ну и пр., всех не знаю. Вставляй/удаляй что нужно.
цитата
15/04/06 в 17:38
 Somebody
А у меня что-то JS скрипт не редиректит. icon_sad.gif
цитата
15/04/06 в 17:54
 Self-Delete
еще надо учитывать то что если в опере например заданы 2 языка, рус и инглиш, то язык браузера будет что то вроде
ru;en;q=0.9 или что то наподобие
цитата
15/04/06 в 22:29
 Somebody
Self-Delete, не подскажешь все таки как бы лучше отфильтровать трафик, просто уменя на умаксе американчеги состовляют процентов так 25. Очень не хорошо. Откуда идут всякие китайцы,- не знаю icon_biggrin.gif
цитата
16/04/06 в 02:50
 Magus
Скрипт на Perl

Юзеров определяет не по языку браузера,
а по их IP адресу

Для его работы на сервере должен быть установлен модуль Geo::IP

Перенаправляет:
весь xUSSR на yandex.ru
всех остальных на google.com

Код:
#!/usr/bin/perl
use CGI;
use Geo::IP;
my $g=Geo::IP->new(GEOIP_STANDARD);
my $a=$ENV{'REMOTE_ADDR'};
my $c=$g->country_code_by_addr($a);
my $q=new CGI;
my $r='http://google.com'; if (($c eq 'AM')||($c eq 'AZ')||($c eq 'BY')||($c eq 'EE')||($c eq 'GE')||($c eq 'KG')||($c eq 'KZ')||($c eq 'LT')||($c eq 'LV')||($c eq 'MD')||($c eq 'RU')||($c eq 'TJ')||($c eq 'TM')||($c eq 'UA')||($c eq 'UZ')) {$r='http://yandex.ru';} print($q->redirect($r));


Исправьте URL-адреса перенаправления и коды стран на те,
какие вас интересуют и все ваши юзеры пойдут куда вам надо.
цитата
16/04/06 в 09:23
 pashtet
BB писал:
А кто-нить знает что надо в этом коде переписать, что бы он РАЗРЕШАЛ этим языкам дальнейший просмотр страницы, а не редиректил
Ну уж помогите тупой блондинке с 3 постами ;)

Предпоследняя строчка:
Код:

|| (language2 == loc[i])) { f = false; break; } }
цитата
16/04/06 в 09:31
 Vlad_S
Ну раз пошла такая пьянка тогда мой вариант:
Код:
<?php
$out1="http://url.good/";
$out2="http://url.bad/";
$GEOIP_COUNTRY_CODES = array(
"", "AP", "EU", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO", "AQ",
"AR", "AS", "AT", "AU", "AW", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH",
"BI", "BJ", "BM", "BN", "BO", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA",
"CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU",
"CV", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG",
"EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "FX", "GA", "GB",
"GD", "GE", "GF", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT",
"GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IN",
"IO", "IQ", "IR", "IS", "IT", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM",
"KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS",
"LT", "LU", "LV", "LY", "MA", "MC", "MD", "MG", "MH", "MK", "ML", "MM", "MN",
"MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA",
"NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA",
"PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY",
"QA", "RE", "RO", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI",
"SJ", "SK", "SL", "SM", "SN", "SO", "SR", "ST", "SV", "SY", "SZ", "TC", "TD",
"TF", "TG", "TH", "TJ", "TK", "TM", "TN", "TO", "TP", "TR", "TT", "TV", "TW",
"TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN",
"VU", "WF", "WS", "YE", "YT", "YU", "ZA", "ZM", "ZR", "ZW"
);

$GEOIP_COUNTRY_NAMES = array(
"", "Asia/Pacific Region", "Europe", "Andorra", "United Arab Emirates","Afghanistan", "Antigua and Barbuda", "Anguilla", "Albania", "Armenia","Netherlands Antilles", "Angola", "Antarctica", "Argentina", "American Samoa","Austria", "Australia", "Aruba", "Azerbaijan", "Bosnia and Herzegovina","Barbados", "Bangladesh", "Belgium", "Burkina Faso", "Bulgaria", "Bahrain","Burundi", "Benin", "Bermuda", "Brunei Darussalam", "Bolivia", "Brazil","Bahamas", "Bhutan", "Bouvet Island", "Botswana", "Belarus", "Belize","Canada", "Cocos (Keeling) Islands", "Congo, The Democratic Republic of the","Central African Republic", "Congo", "Switzerland", "Cote D'Ivoire", "Cook Islands", "Chile", "Cameroon", "China", "Colombia", "Costa Rica", "Cuba", "Cape Verde", "Christmas Island", "Cyprus", "Czech Republic", "Germany", "Djibouti","Denmark", "Dominica", "Dominican Republic", "Algeria", "Ecuador", "Estonia","Egypt", "Western Sahara", "Eritrea", "Spain", "Ethiopia", "Finland", "Fiji","Falkland Islands (Malvinas)", "Micronesia, Federated States of", "Faroe Islands", "France", "France, Metropolitan", "Gabon", "United Kingdom","Grenada", "Georgia", "French Guiana", "Ghana", "Gibraltar", "Greenland","Gambia", "Guinea", "Guadeloupe", "Equatorial Guinea", "Greece", "South Georgia and the South Sandwich Islands", "Guatemala", "Guam", "Guinea-Bissau","Guyana", "Hong Kong", "Heard Island and McDonald Islands", "Honduras","Croatia", "Haiti", "Hungary", "Indonesia", "Ireland", "Israel", "India","British Indian Ocean Territory", "Iraq", "Iran, Islamic Republic of","Iceland", "Italy", "Jamaica", "Jordan", "Japan", "Kenya", "Kyrgyzstan","Cambodia", "Kiribati", "Comoros", "Saint Kitts and Nevis", "Korea, Democratic People's Republic of", "Korea, Republic of", "Kuwait", "Cayman Islands","Kazakstan", "Lao People's Democratic Republic", "Lebanon", "Saint Lucia","Liechtenstein", "Sri Lanka", "Liberia", "Lesotho", "Lithuania", "Luxembourg","Latvia", "Libyan Arab Jamahiriya", "Morocco", "Monaco", "Moldova, Republic of", "Madagascar", "Marshall Islands", "Macedonia, the Former Yugoslav Republic of", "Mali", "Myanmar", "Mongolia", "Macau", "Northern Mariana Islands","Martinique", "Mauritania", "Montserrat", "Malta", "Mauritius", "Maldives","Malawi", "Mexico", "Malaysia", "Mozambique", "Namibia", "New Caledonia","Niger", "Norfolk Island", "Nigeria", "Nicaragua", "Netherlands", "Norway","Nepal", "Nauru", "Niue", "New Zealand", "Oman", "Panama", "Peru", "French Polynesia", "Papua New Guinea", "Philippines", "Pakistan", "Poland", "Saint Pierre and Miquelon", "Pitcairn", "Puerto Rico", "Palestinian Territory Occupied", "Portugal", "Palau", "Paraguay", "Qatar", "Reunion", "Romania","Russian Federation", "Rwanda", "Saudi Arabia", "Solomon Islands","Seychelles", "Sudan", "Sweden", "Singapore", "Saint Helena", "Slovenia","Svalbard and Jan Mayen", "Slovakia", "Sierra Leone", "San Marino", "Senegal","Somalia", "Suriname", "Sao Tome and Principe", "El Salvador", "Syrian Arab Republic", "Swaziland", "Turks and Caicos Islands", "Chad", "French Southern Territories", "Togo", "Thailand", "Tajikistan", "Tokelau", "Turkmenistan","Tunisia", "Tonga", "East Timor", "Turkey", "Trinidad and Tobago", "Tuvalu","Taiwan", "Tanzania, United Republic of", "Ukraine","Uganda", "United States Minor Outlying Islands", "United States", "Uruguay","Uzbekistan", "Holy See (Vatican City State)", "Saint Vincent and the Grenadines", "Venezuela", "Virgin Islands, British", "Virgin Islands, U.S.","Vietnam", "Vanuatu", "Wallis and Futuna", "Samoa", "Yemen", "Mayotte","Yugoslavia", "South Africa", "Zambia", "Zaire", "Zimbabwe");

define("GEOIP_COUNTRY_BEGIN", 16776960);
define("GEOIP_STATE_BEGIN", 16700000);
define("GEOIP_STANDARD", 0);
define("GEOIP_MEMORY_CACHE", 1);
define("STRUCTURE_INFO_MAX_SIZE",20);
define("DATABASE_INFO_MAX_SIZE",100);
define("GEOIP_COUNTRY_EDITION",106);
define("GEOIP_REGION_EDITION",112);
define("GEOIP_CITY_EDITION",111);
define("GEOIP_ORG_EDITION",110);
define("SEGMENT_RECORD_LENGTH",3);
define("STANDARD_RECORD_LENGTH",3);
define("ORG_RECORD_LENGTH",4);
define("MAX_RECORD_LENGTH",4);
define("MAX_ORG_RECORD_LENGTH",300);

class GeoIP {
  var $flags;
  var $filehandle;
  var $memory_buffer;
  var $databaseType;
  var $databaseSegments;
  var $record_length;
}

function _setup_segments($gi){
$filepos = ftell($gi->filehandle);
$gi->databaseType = GEOIP_COUNTRY_EDITION;
$gi->record_length = STANDARD_RECORD_LENGTH;
fseek($gi->filehandle, -3, SEEK_END);
for ($i = 0; $i < STRUCTURE_INFO_MAX_SIZE; $i++) {
$delim = fread($gi->filehandle,3);
if ($delim == (chr(255).chr(255).chr(255))){
$gi->databaseType = ord(fread($gi->filehandle,1));
if ($gi->databaseType == GEOIP_REGION_EDITION){
$gi->databaseSegments = GEOIP_STATE_BEGIN;
} else if ($gi->databaseType == GEOIP_CITY_EDITION || $gi->databaseType == GEOIP_ORG_EDITION){
$gi->databaseSegments = 0;
$buf = fread($gi->filehandle,SEGMENT_RECORD_LENGTH);
for ($j = 0;$j < SEGMENT_RECORD_LENGTH;$j++){ $gi->databaseSegments += (ord($buf[$j]) << ($j * 8)); }
if ($gi->databaseType == GEOIP_ORG_EDITION) { $gi->record_length = ORG_RECORD_LENGTH; }
}
break;
} else { fseek($gi->filehandle, -4, SEEK_CUR); }
}
if ($gi->databaseType == GEOIP_COUNTRY_EDITION){ $gi->databaseSegments = GEOIP_COUNTRY_BEGIN; }
fseek($gi->filehandle,$filepos,SEEK_SET);
return $gi;
}

function geoip_open($filename, $flags) {
$gi = new GeoIP;
$gi->flags = $flags;
$gi->filehandle = fopen($filename,"rb");
if ($gi->flags & GEOIP_MEMORY_CACHE) {
$s_array = fstat($gi->filehandle);
$gi->memory_buffer = fread($gi->filehandle, $s_array[size]);
}
$gi = _setup_segments($gi);
return $gi;
}

function geoip_close($gi) {
return fclose($gi->filehandle);
}

function geoip_country_id_by_name($gi, $name) {
$addr = gethostbyname($name);
if (!$addr || $addr == $name) { return false; }
return geoip_country_id_by_addr($gi, $addr);
}

function geoip_country_code_by_name($gi, $name) {
$country_id = geoip_country_id_by_name($gi,$name);
if ($country_id !== false) { return $GLOBALS['GEOIP_COUNTRY_CODES'][$country_id]; }
return false;
}

function geoip_country_name_by_name($gi, $name) {
$country_id = geoip_country_id_by_name($gi,$name);
if ($country_id !== false) { return $GLOBALS['GEOIP_COUNTRY_NAMES'][$country_id]; }
return false;
}

function geoip_country_id_by_addr($gi, $addr) {
$ipnum = ip2long($addr);
return _geoip_seek_country($gi, $ipnum) - GEOIP_COUNTRY_BEGIN;
}

function geoip_country_code_by_addr($gi, $addr) {
$country_id = geoip_country_id_by_addr($gi,$addr);
if ($country_id !== false) { return @$GLOBALS['GEOIP_COUNTRY_CODES'][$country_id]; }
return false;
}

function geoip_country_name_by_addr($gi, $addr) {
$country_id = geoip_country_id_by_addr($gi,$addr);
if ($country_id !== false) { return $GLOBALS['GEOIP_COUNTRY_NAMES'][$country_id]; }
return false;
}

function _geoip_seek_country($gi, $ipnum) {
$offset = 0;
for ($depth = 31; $depth >= 0; --$depth) {
if ($gi->flags & GEOIP_MEMORY_CACHE) {
  $buf = substr($gi->memory_buffer,2 * $gi->record_length * $offset, 6);
} else {
  fseek($gi->filehandle, 2 * $gi->record_length * $offset, SEEK_SET) == 0
    or die("fseek failed");
  $buf = fread($gi->filehandle, 2 * $gi->record_length);
}
$x = array(0,0);
for ($i = 0; $i < 2; ++$i) {
  for ($j = 0; $j < $gi->record_length; ++$j) { $x[$i] += ord($buf[$gi->record_length * $i + $j]) << ($j * 8); }
}
if ($ipnum & (1 << $depth)) {
  if ($x[1] >= $gi->databaseSegments) { return $x[1]; }
  $offset = $x[1];
}
else {
  if ($x[0] >= $gi->databaseSegments) { return $x[0]; }
  $offset = $x[0];
}
}
trigger_error("error traversing database - perhaps it is corrupt?", E_USER_ERROR);
return false;
}
function _get_org($gi,$ipnum){
$seek_org = _geoip_seek_country($gi,$ipnum);
if ($seek_org == $gi->databaseSegments) { return NULL; }
$record_pointer = $seek_org + (2 * $gi->record_length - 1) * $gi->databaseSegments;
fseek($gi->filehandle, $record_pointer, SEEK_SET);
$org_buf = fread($gi->filehandle,MAX_ORG_RECORD_LENGTH);
$org_buf = substr($org_buf, 0, strpos($org_buf, 0));
return $org_buf;
}
function geoip_org_by_addr ($gi,$addr) {
if ($addr == NULL) { return 0; }
$ipnum = ip2long($addr);
return _get_org($gi, $ipnum);
}
function _get_region($gi,$ipnum){
$seek_region = _geoip_seek_country($gi,$ipnum) - GEOIP_STATE_BEGIN;
if ($seek_region >= 1000){
$country_code = "US";
$region = chr(($seek_region - 1000)/26 + 65) . chr(($seek_region - 1000)%26 + 65);
} else {
$country_code = $GLOBALS['GEOIP_COUNTRY_CODES'][$seek_region];
$region = "";
}
return array ($country_code,$region);
}
function geoip_region_by_addr ($gi,$addr) {
if ($addr == NULL) { return 0; }
$ipnum = ip2long($addr);
return _get_region($gi, $ipnum);
}
if(preg_match("/(zh|ru)/",getenv("HTTP_ACCEPT_LANGUAGE"))) {
header("Location: ".$out2);
exit();
}
$gi = geoip_open("geoip.dat",GEOIP_STANDARD);
$countries = array("AU","AT","AD","BE","VA","GB","US","GI","GL","DE","GR","DK","IL","IE","IS",
"ES","IT","CA","LI","LU","MT","MC","NZ","NO","PT","SM","FI","FR","CH","SE","JP");
if (in_array(geoip_country_code_by_addr($gi, getenv("REMOTE_ADDR")), $countries)) {
header("Location: ".$out1);
} else {
header("Location: ".$out2);
}
geoip_close($gi);
?>
Ынструкцыа icon_smile.gif
1. Сначала надо скачать файл: http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz,
распаковать его, переименовать "GeoIP.dat" в "geoip.dat" и залить на хост строго в бинарном режиме, туда где будет скрипт редиректа лежать.
2. Скопировать код в "блокноте" и сохранить в файл с расширением *.php.
3. Открыть сохраненный файл, тоже в "блокноте", и заменить "http://url.good/" на URL-адрес куда будем направлять хороших пользователей из платежеспособных стран, а "http://url.bad/" на URL-адрес для беспорточных халявщиков.
4. Залить файл в текстовом режиме(ASCII) на хост к файлу "geoip.dat".
5. Наслаждаться результатом icon_smile.gif
P.S. Файл "geoip.dat" желательно обновлять хотя бы раз в месяц, как указано в п.1
цитата
16/04/06 в 11:20
 pashtet
Vlad_S писал:
Ну раз пошла такая пьянка тогда мой вариант:
<!--skip-->

Это ты написал для:
Цитата:
тупой блондинке с 3 постами ;)

:-)
цитата
16/04/06 в 12:28
 Somebody
Всем спасибо. Но вот есть проблемка с редиректом Vlad_Sа. Так вот, есть например у меня дорвей, который находится на каком-либо хосте без поддержки php и т д. Т.е. мне приходится сначала редиректнуть его на хост где лежит отдельный пшпный редирект и оттуда уже он пойдет на ппс или куда-нить в другое место в зависимости от гео пизнака серфера. Но это очень не удобно ибо для каждого дорвея надо создавать и заливать отдельный редирект. Нельзя бы как-нить чтобы было как то универсальнее, т е. есть у меня дор по "viagra" и есть тот редирект, так вот надо чтобы редирект как то определил и перенаправил по
xttp://www.topsearch10.com/search.php?aid=12345&q=viagra,
а для дора по "phentermine" на
xttp://www.topsearch10.com/search.php?aid=12345&q=phentermine
Я в программировании не силен, если поможите и на сей раз, буду очень вам благодарен и признателен.
цитата
16/04/06 в 13:01
 pashtet

Это тебе надо смотеть в сторону Sutra TDS
цитата
16/04/06 в 13:56
 Somebody
Сутра денег стоит icon_biggrin.gif А у меня их пока очень мало. В принципе, если добавить такую штучку. которую я написал, будет не сутра, но очень суперский фильтр-редирект.
цитата
16/04/06 в 14:57
 Vlad_S
Somebody писал:
Всем спасибо. Но вот есть проблемка с редиректом Vlad_Sа....
Если у тебя хост пхп не поддерживает, то только джавой по языку, или через хост, на котором пхп работает... Somebody писал:
...так вот надо чтобы редирект как то определил и перенаправил по
xttp://www.topsearch10.com/search.php?aid=12345&q=viagra,
а для дора по "phentermine" на
xttp://www.topsearch10.com/search.php?aid=12345&q=phentermine....
Так какие проблемы - можно написать в первой строке вот так:
Код:
$out1="http://www.topsearch10.com/search.php?".getenv("QUERY_STRING");
И тогда все параметры поиска будут передаваться как надо...
pashtet писал:
Это ты написал для:...
тупой блондинке с 3 постами ;)
и для нее и для всех, а если нет простейших навыков работы с PHP-скриптами, то толку не будет - ни для тупых блондинок, ни для острых брюнеток icon_smile.gif
цитата
16/04/06 в 16:47
 Somebody
извините, что я опять туплю icon_smile.gif, сильно не пинайте icon_smile.gif
такс...
Я понял что в пшпном скрите надо изменить первую строчку на
Код:
$out1="http://www.topsearch10.com/search.php?".getenv("QUERY_STRING");


Пусть у меня есть дор без поддержки php - freehost.com/viagra/
туда нужно засунуть какой JS скрипт для того, что бы тот скрипт на хосте с поддержкой php(www.hostwithphp.com/redirect/) определил "QUERY_STRING"?
Вот обычный редирект который я использую для перекидывания сразу на ппс
Код:

<script language='javascript'>
var1=49;
var2=var1;
if(var1==var2) document.location="http://www.topsearch10.com/search.php?aid=12345&q=viagra";
</script>



Так вот что там надо видо изменить в JS скрипте, чтобы php скрипт определил "aid=12345&q=viagra" и перкинул уже на ппс по следующей ссылке
http://www.topsearch10.com/search.php?aid=12345&q=viagra

ТАК вот тут же надо поменять что-нибудь?!
Код:

<script language='javascript'>
var1=49;
var2=var1;
if(var1==var2) document.location="http://www.hostwithphp.com/redirect/" ЧТО ТУТ НАПИСАТЬ НАДО?;
</script>


или это вообще не тут менять надо..
цитата
16/04/06 в 20:29
 Jam
программированию надо учиться
хотя бы навыкам
или денег дать тем кто знает
цитата
26/04/06 в 23:52
 Somebody
блин, не знаю почему но этот редирект Vlad_S все-таки у меня тоже не работает, вроде все сделал как написано, но почему то редиректит всегда на урл xttp://url.bad/
вот где лежит редирект xttp://tkgroup.jino-net.ru/1.php
xttp://url.bad/ это гугл, урлгуд - это яндекс, но почемуто он всегда кидает все равно на гугл =(
цитата
10/07/07 в 11:34
 Nort60
мне нужно чтобы все кроме русских ураинских и т.п. пользователей могли зайти в англий скую версию сайта (она у меня в папке http://мой-сайт.com/category/ а русская в http://мой-сайт.com/ru_category/) а посетители из руссии ураины и т.п. пытающиеся зайти в папку с английской версией перенаправлялись на отдельную страницу (в папке http://мой-сайт.com/ru_category/)
предпочтительнее сделать это в .htaccess ну или что то де кода не на 3 систа

я не програмист и разбираюсь плохо можете подробно расписать как этого добиться (как что написать и где достать список IP по странам)

Мой хостинг поддерживает и РНР и все остальное только вот ставить GeoIP не хотят пишут GeoIP не установлен, и может быть не будет установлен, потому что это довольно неоднозначная библиотека.
мой сайт = http://elfinwork.com/
цитата
09/11/08 в 14:01
 ZemoN
Есть вопрос, а если точнее то ХХЕЕЛЛПП :
Как технически (желательно готовый пример) осуществить блокировку России на сайт?
В наличии ИМЕЕТСЯ:
-база Ip по странам от MaxMind в формате "*.csv" и "*.dat"
В наличии НЕ ИМЕЕТСЯ:
-возможность поставить модуль GeoIp на хост
-знание ПШП и ASP/VBScript
цитата
09/11/08 в 17:03
 Corex
ZemoN:
Если база MaxMind не принципиальна, то > http://www.ip2nation.com - там и база и примеры кода с использованием.
цитата
09/11/08 в 23:26
 borgivan
Как вариант:

1. Качаешь это.

2. Качаешь это.

3. Создаешь PHP файл редиректа (назвать к примеру redirect.php):
Код:

<?php

include("geoip.inc");
$gi=geoip_open("GeoIP.dat",GEOIP_STANDARD);
$cc=geoip_country_code_by_addr($gi, getenv('REMOTE_ADDR'));
geoip_close($gi);

if (($cc = "RU") || ($cc = "UA"))
{
   header("Location: http://yandex.ru");
}
else
{
   header("Location: http://google.com");
}

?>

Выделенное жирным можно добавить всеми нужными странами (смотреть сокращения по файлу geoip.inc).
Вместо яндека - куда рашу/украину и тд.
Вместо гугла - куда всех остальных.

4. Копируешь все в одну папку. Если в разные - то меняешь путь к инклюду и базе. И всё! Пиздец! icon_smile.gif
Стр. 1, 2  >  последняя »


Эта страница в полной версии