Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как определить localhost?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
razorg1991
Отправлено: 20 Ноября, 2014 - 21:13:35
Post Id


Частый гость


Покинул форум
Сообщений всего: 131
Дата рег-ции: Сент. 2013  


Помог: 0 раз(а)




Пишу проект на php который по задумке должен работать только на локальной машине (на денвере короче). Мне абсолютно не нужно, чтобы этот проект выкладывался на хост. Хочу реализовать проверку, чтобы скрипт был точно уверен, что он находится на локальной машине, а не в интернете.
В браузере ввожу соответственно localhost/proekt - и попадаю в свой проект.
Как мне средствами php определить через какой адрес пришли на скрипт?

Возможно вопрос не совсем типичный, но прошу подсказать.
 
 Top
biperch
Отправлено: 20 Ноября, 2014 - 21:25:26
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009  
Откуда: Днепропетровск


Помог: 8 раз(а)




razorg1991 пишет:
Мне абсолютно не нужно, чтобы этот проект выкладывался на хост

Не выкладывай на хот и все
 
 Top
razorg1991
Отправлено: 20 Ноября, 2014 - 22:36:01
Post Id


Частый гость


Покинул форум
Сообщений всего: 131
Дата рег-ции: Сент. 2013  


Помог: 0 раз(а)




biperch пишет:
Не выкладывай на хот и все

Как знал что сейчас появится хоть один умник со своими идиотскими советами! Вы ранг себе что ли этим флудом набиваете? Не загаживайте тему бесполезными советами!
Для тех кто ещё в танке: Проектом буду пользоваться не только я, а куча людей. И вообще это абсолютно не важно! Я задал конкретный вопрос, надеюсь получить конкретный АДЕКВАТНЫЙ ответ: если можно - то как, если нет - то почему?
 
 Top
Bio man
Отправлено: 21 Ноября, 2014 - 01:02:22
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




Посмотри переменную $_SERVER
 
 Top
DelphinPRO
Отправлено: 21 Ноября, 2014 - 01:30:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




PHP:
скопировать код в буфер обмена
  1. if (file_exists('C:\windows')) {
  2.   echo 'this is locahost';
  3. }


Голливудская улыбка
(Добавление)
А что, собственно, помешает другим людям удалить вашу проверку из скрипта, и использовать его как захочется им?


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Bio man
Отправлено: 21 Ноября, 2014 - 01:50:16
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




DelphinPRO, не лучше ли проверять на хост или ип адрес? Или на продакшен сервере тоже может быть localhost и 127.0.0.1?
 
 Top
DelphinPRO
Отправлено: 21 Ноября, 2014 - 03:22:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Bio man, да я ж пошутил ) К тому же мое решение не пройдет проверку у пользователей линукс и маков Голливудская улыбка

PHP:
скопировать код в буфер обмена
  1. if ($_SERVER['REMOTE_ADDR'] == '127.0.0.1') {
  2.  
  3. }

(Добавление)
только и локалхост не у всех может быть на IP 127.0.0.1 повешен.
Задача странная, если не сказать более.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
esterio
Отправлено: 21 Ноября, 2014 - 12:13:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




а я установлю nginx. все запросы через прокси на апач. и все приехали. у всех ИП будет 127.0.0.1.
Уважаемый автор топика. У Вас не получиться на все 100% узнать запущен он на локалхосте. Но если вы расчитиваете на среднестатистического пользователя, который сумеет установить лиш денвер, то проверки на ИП достаточно

(Отредактировано автором: 21 Ноября, 2014 - 12:14:17)

 
 Top
LIME
Отправлено: 21 Ноября, 2014 - 18:59:38
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




DelphinPRO пишет:
только и локалхост не у всех может быть на IP 127.0.0.1 повешен.
локалхост может быть повешен на что угодно
проверка по IP идет или нет
не уверен но напрашивается проверка ttl
http://php.net/manual/ru/functio...s-get-record.php
вот навскидку нашел
у локалхоста он будет уменьшен на 1 не более
хотя это конечно не спасет от правки кода как всегда
esterio пишет:
У Вас не получиться на все 100% узнать запущен он на локалхосте.
именно потому что можно исправить любой твой код
но ttl это еще 1 отвертка в бок "умников"
если даже умеют проксировать меняя REMOTE_ADDR то ttl вполне могут не догадаться вспомнить
вобщем можно сильно усложнить жизнь и не более
(Добавление)
наиболее адекватное решение дал DelphinPRO
и гемора минимум и от обывателя спасет
(Добавление)
хотя если это может быть только денвер...ой короче
много всего можно придумать всего не рассказать тут..
забей...нужен кому твой чудо код?...
 
 Top
razorg1991
Отправлено: 21 Ноября, 2014 - 21:46:12
Post Id


Частый гость


Покинул форум
Сообщений всего: 131
Дата рег-ции: Сент. 2013  


Помог: 0 раз(а)




Всем спасибо за ответы! Кое-что вынес полезного, просто хочется сделать маленькую защиту от умников.
 
 Top
LIME
Отправлено: 21 Ноября, 2014 - 21:53:13
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




а смысл?
у тебя реально такой великолепный код?
вот тут многие говорят(в основно кабалеро)
"сначала напиши а потом заботься о защите"
поддерживаю всеми руками ногами и головой
рано паришься
 
 Top
DelphinPRO
Отправлено: 21 Ноября, 2014 - 22:48:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)





опять Лайма забанили... А?!


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Нуб ушастый
Отправлено: 22 Ноября, 2014 - 21:21:04
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Нояб. 2014  


Помог: 0 раз(а)




Если я Вас понял правильно , то это будет выглядеть вооот тааак:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. //В переменной ниже - введенный наобум локал, его Вы узнаете через echo $_SERVER['DOCUMENT_ROOT'];
  4. $local='C:\Users\Администратор\project\';
  5. if($_SERVER['DOCUMENT_ROOT']!=$local){
  6. echo 'Блокируем работу скрипта, если сервер не соответствует локальному';
  7. exit;}
  8. ?>
  9.  
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB