вопрос: а какая штука серьезная? ну не логин же... куки тоже чистятся на раз, а ИП зачастую постоянный, и как через проксю зайти - не все знают (я вот не знаю, где найти список прокси, где хоть 5% рабочих есть)
блин если это в блок засунуть ничего работать не будет..
я же хочу готовое решение тут написать, чтобы любой, найдя тему скопировал код, встави и не парился..
<?php
return = FALSE;
if $_SERVER['SERVER_ADDR == '0.0.0.0'
return = TRUE;
?>
тут есть ошибка?
SadhooKlay (не проверено)
15 мая 2007 в 11:43
Вы, в вашем примере проверяете IP сервера, а надо пользователя.
И возвращать (return) нужно не булевское значение а ноду.
Т.е. если не запрещённый IP возвращаем содержимое материала.
ага, в Москве у меня IP меняется при каждой перезагрузке роутера, в подмосковье он у меня вообще серый, про GSM вообще молчу, а В Сахалинской обл.(чуть по дальше от областного центра), например, вообще 1 IP на провайдера, забанить 1 комп == забанить весь город. А еще не забываем про макдак и интернет кафе.
Пробовал
<?php if $_SERVER["REMOTE_ADDR'] == '0.0.0.0' { echo "Premission denied"} ?> не выходит...Никто блок не видит
<?php
if ($_SERVER['REMOTE_ADDR'] == '0.0.0.0') return = FALSE;
else return true;
?>
не выходит...Никто блок не видит
<?php
return = TRUE;
if $_SERVER['REMOTE_ADDR'] == '0.0.0.0'
return = FALSE;
?>
не выходит...Никто блок не видит
Ни один из способов не имеет почти ничего общего с PHP
Ни один из способов не имеет почти ничего общего с PHP[/quote]
Просто интересно...Смысл тогда в этом форуме, если вы стебетесь на людьми, которые не совсем владеют навыками программирования и обратились за помощью...Как бы то, что нужно что-то учить, это и без вас понятно...Я второй раз обращаюсь тут с вопросом и второй раз попадаю на стеб...Вы кайф от этого ловите? Трудно дать пару советов???Если не хотите, лучше промолчите...не стоит показыывать какие вы все умные, а все остальные тупые...
Смысл тогда в этом форуме, если вы стебетесь на людьми, которые не совсем владеют навыками программирования и обратились за помощью
вопрос:
"Leon_mc_Lenon" wrote:
Как быть?
ответ(причем он находится выше вопроса):
"Dan" wrote:
return ($_SERVER['REMOTE_ADDR'] != '0.0.0.0');
а это
"Leon_mc_Lenon" wrote:
Пробовал
<?php if $_SERVER["REMOTE_ADDR'] == '0.0.0.0' { echo "Premission denied"} ?> не выходит...Никто блок не видит
<?php
if ($_SERVER['REMOTE_ADDR'] == '0.0.0.0') return = FALSE;
else return true;
?>
не выходит...Никто блок не видит
<?php
return = TRUE;
if $_SERVER['REMOTE_ADDR'] == '0.0.0.0'
return = FALSE;
?>
не выходит...Никто блок не видит
следовало задавать на форуме по PHP, ибо к друпалу не имеет никакого отношения, так что, другая реакция была бы удивительна.
Как бы то, что нужно что-то учить, это и без вас понятно...
И почему не учим?
"Leon_mc_Lenon" wrote:
Я второй раз обращаюсь тут с вопросом и второй раз попадаю на стеб...Вы кайф от этого ловите?
Может пора сделать выводы?
"Leon_mc_Lenon" wrote:
Трудно дать пару советов???
Трудно ознакомиться с комментами выше (а их совсем немного), прежде чем задавать вопрос?
"Leon_mc_Lenon" wrote:
не стоит показыывать какие вы все умные, а все остальные тупые...
Умных к умным, а меня - к вам. Заметь, ты сам себя назвал тупым, больше никто не догадался.
А теперь по делу, раз ты так этого жаждешь.
Ты скопипастил код из комментария, в котором автор жалуется, что код у него работает неверно. В следующем комменте написано, что не работает из-за PHP-ошибки. Скажи честно, ты думаешь, что ты - избранный и любой код, который ты используешь, включая априори неверный, будет работать?
Далее идёт небольшая правка и есть рабочий код, в том числе от меня. Но ты видимо уже до этого не дочитал - многа букафф? То есть нам должно быть отвечать не сложно, но тебе не читать - можно, так, мистер Лентяй?
Ну и напоследок, тебя, не совсем учтиво, без должных для тебя почестей, таки ткнули в код, но ты всё ежё недоволен? Что нам нужно сделать? Извиниться за твою невнимательность, лень и нежелание учить PHP?
Комментарии
в настройках блока есть возможность писать php код при котором показывать или не показывать блок.
это я знаю.. вопрос как правильно написать php условие проверки ip ?
Блин, ну вы батенька даёте : )
Во первых вам нужно использовать Суперглобальный массив $_SERVER.
Вот, лишь некоторые его возможности:
echo "Имя сервера - ".$_SERVER['SERVER_NAME']."<br />";
echo "IP-адрес сервера - ".$_SERVER['SERVER_ADDR']."<br />";
echo "Порт сервера - ".$_SERVER['SERVER_PORT']."<br />";
echo "Web-сервер - ".$_SERVER['SERVER_SOFTWARE']."<br />";
echo "Версия HTTP-протокола - ".$_SERVER['SERVER_PROTOCOL']."<br />";
echo "IP посетителя -".$ _SERVER["REMOTE_ADDR']."<br />";
?>
А во вторых, ip штука не серьёзная.
Так, он может быть как динамическим (читай всегда разным), так и проксёвым : )
ip в моём случае штука единственно верная
а вас не затруднит целиком условие составить?
<?php
return = FALSE;
if (.$_SERVER['SERVER_ADDR'].) == '0.0.0.0')
return = TRUE;
?>
так?
вопрос: а какая штука серьезная? ну не логин же... куки тоже чистятся на раз, а ИП зачастую постоянный, и как через проксю зайти - не все знают (я вот не знаю, где найти список прокси, где хоть 5% рабочих есть)
товарищи! хэлп
Нет не так.
<?php if $_SERVER["REMOTE_ADDR'] == '0.0.0.0' { echo "Premission denied"} ?>
блин если это в блок засунуть ничего работать не будет..
я же хочу готовое решение тут написать, чтобы любой, найдя тему скопировал код, встави и не парился..
<?php
return = FALSE;
if $_SERVER['SERVER_ADDR == '0.0.0.0'
return = TRUE;
?>
тут есть ошибка?
Вы, в вашем примере проверяете IP сервера, а надо пользователя.
И возвращать (return) нужно не булевское значение а ноду.
Т.е. если не запрещённый IP возвращаем содержимое материала.
да ip сервера я туда зря написал
но блин мне нужно написать условие видимости блока..
они пишутся примерно так -
<?php
global $user;
if (in_array('Approved Role',$user->roles)) {
return TRUE;
} else {
return FALSE;
}
?>
а моя задача спрятать блок от одного конкретного ip
вот что я пишу в правило видимости блока:
<?php
return = TRUE;
if $_SERVER['REMOTE_ADDR'] == '0.0.0.0'
return = FALSE;
?>
всместо 0.0.0.0 указан мой ip
и вопрос - почему я продолжа видеть этот блок?
Ввиду пхп ошибки скорее всего. Попробуйте поставить скобки около условия.
всё дописал..
в своём блокноте схранил, если кому надо:
http://youweb.ru/node/33
Перестарался.
Достаточно
if ($_SERVER['REMOTE_ADDR'] == '0.0.0.0') return = FALSE;
else return true;
?>
хе-хе
return ($_SERVER['REMOTE_ADDR'] != '0.0.0.0');
Это уж кому что надо...
> Это уж кому что надо...
В смысле?
Я просто код сократил.
нет бы сразу так написать
А учиться кто будет?
2Dan +1
Пора конкурс на самый короткий вариант кода объявить, а тебя победителем!
У меня круче конкурс есть.
Скоро объявлю
Dan, диплом уже полгода как получил
Намёк понял
просто тест
Пробовал
<?php if $_SERVER["REMOTE_ADDR'] == '0.0.0.0' { echo "Premission denied"} ?> не выходит...Никто блок не видит
<?php
if ($_SERVER['REMOTE_ADDR'] == '0.0.0.0') return = FALSE;
else return true;
?> не выходит...Никто блок не видит
<?php
return = TRUE;
if $_SERVER['REMOTE_ADDR'] == '0.0.0.0'
return = FALSE;
?> не выходит...Никто блок не видит
Как быть?
Учить PHP.
С острил...Ничего не скажешь!
+1
а так же для слепых
А по
ага, в Москве у меня IP меняется при каждой перезагрузке роутера, в подмосковье он у меня вообще серый, про GSM вообще молчу, а В Сахалинской обл.(чуть по дальше от областного центра), например, вообще 1 IP на провайдера, забанить 1 комп == забанить весь город. А еще не забываем про макдак и интернет кафе.
ни капли:
Ни один из способов не имеет почти ничего общего с PHP
Ни один из способов не имеет почти ничего общего с PHP[/quote]
Просто интересно...Смысл тогда в этом форуме, если вы стебетесь на людьми, которые не совсем владеют навыками программирования и обратились за помощью...Как бы то, что нужно что-то учить, это и без вас понятно...Я второй раз обращаюсь тут с вопросом и второй раз попадаю на стеб...Вы кайф от этого ловите? Трудно дать пару советов???Если не хотите, лучше промолчите...не стоит показыывать какие вы все умные, а все остальные тупые...
вопрос:
ответ(причем он находится выше вопроса):
а это
следовало задавать на форуме по PHP, ибо к друпалу не имеет никакого отношения, так что, другая реакция была бы удивительна.
Это не шутка, это приказ.
И почему не учим?
Может пора сделать выводы?
Трудно ознакомиться с комментами выше (а их совсем немного), прежде чем задавать вопрос?
Умных к умным, а меня - к вам. Заметь, ты сам себя назвал тупым, больше никто не догадался.
А теперь по делу, раз ты так этого жаждешь.
Ты скопипастил код из комментария, в котором автор жалуется, что код у него работает неверно. В следующем комменте написано, что не работает из-за PHP-ошибки. Скажи честно, ты думаешь, что ты - избранный и любой код, который ты используешь, включая априори неверный, будет работать?
Далее идёт небольшая правка и есть рабочий код, в том числе от меня. Но ты видимо уже до этого не дочитал - многа букафф? То есть нам должно быть отвечать не сложно, но тебе не читать - можно, так, мистер Лентяй?
Ну и напоследок, тебя, не совсем учтиво, без должных для тебя почестей, таки ткнули в код, но ты всё ежё недоволен? Что нам нужно сделать? Извиниться за твою невнимательность, лень и нежелание учить PHP?