사용자가 인터넷을 통해 액세스 할 수없는 로컬 컴퓨터에서 실행 중인지 검색하려는 PHP 스크립트가 있습니다. 현재 그는 127.0.0.1에 대한 서버 주소를 확인합니다. 이것이 최선의 관행입니까 아니면 더 좋은 방법이 있습니까?로컬 호스트에서 실행 중인지 확인하는 방법
답변
로컬 호스트는 항상 당신이해야합니다
if(IPAddress::In(array("127.0.0.1","::1")))
{
//Show Application
}
나는 매우 많은 의심을 의미하는 경우 응용 프로그램이 안전 할 것입니다 내 그래서 IP를 검증, IPv4의 루프백 IP 주소 127.0.0.1
로 변환, 또는 IPv6의 ::1
당신의 포트 80 이후의 엘리트 해커들로 구성된 팀이지만, TCP 패킷이 수정 될 수 있기 때문에 IP 주소에 의존하는 것에 관한 몇 가지 이야기가있었습니다.
하지만 걱정할 필요는 없습니다.
호스트 이름 localhost를 확인할 수도 있지만 서버 주소가 127.0.0.1이면 해결됩니다. 이것은 ipv4의 표준 사례입니다. ipv6에서 로버트 피트 (Robert Pitt)가 제안한대로 체크 할 수 있습니다.
127.0.0.1은 항상 현재 로컬 컴퓨터 인 – RobertPitt
@ RobertPitt로 확인되지만 사실일지도 모르지만 로컬 컴퓨터에서만 확인되는 유일한 주소는 아닙니다. 127/8 네트워크 블록에 약 16777216 개가 더 있습니다. –
지금까지의 답변이 아직 확실하지 않지만 혼란 스러울 수도 있습니다. 나는 특히 "인터넷을 통해 접근 할 수 없다"는 질문에 대답하고 있습니다. 여기 내 대답은 대답 :
PHP가 아닌 웹 서버는 소켓에서 수신 대기하고 연결을 허용합니다. PHP는 $ _SERVER (http://www.php.net/manual/en/reserved.variables.server.php)에서 연결에 대한 정보를 얻을 수 있습니다. 확인하고있는 것은 연결이 어디서 왔는지에 관한 것입니다. $ _SERVER의 다른 IP 주소를 통해 서버를 사용할 수 있는지 여부는 알 수 없습니다. 예를 들어, 나는 어떤을 통해 아파치/PHP의 내 로컬 인스턴스에 액세스 할 수 있습니다
- http://localhost/ ($ _SERVER [ "SERVER_ADDR"] => :: 1)
- http://127.0.0.1/ ($ _SERVER [ "SERVER_ADDR"] => 127.0.0.1)
- http://192.168.75.121/ ($ _SERVER [ "SERVER_ADDR"] => 192.168.75.121)
- http://shiva.local/ ($ _SERVER [ "은 SERVER_ADDR"] => FE80 :: 21C : 42ff : fe00 : 8)
귀하의 계획이 app은 $ _SERVER [ "SERVER_ADDR"]에서 "올바른"값을 볼 때 다르게 행동해야하므로 매우 안전합니다. 즉 원격 클라이언트의 사용자가 스푸핑 할 가능성은 거의 없습니다.
그런 말은 모두 사용자 인증이나 인터넷을 통해 배포 된 응용 프로그램에 대한 사용자 권한/동작 인증에 이러한 기술을 사용하지 않을 것입니다. 한 가지 예외는 localhost에서 액세스 할 때만 사용할 수있는 전체 응용 프로그램을 가지고있는 경우 일 수 있습니다. 그러면이 기술은 적절한 의미를 가지며 개인용 응용 프로그램에 충분히 안전합니다.
저는 보안에 대해 걱정하지 않습니다. 스크립트 (WordPress 플러그인)는 파일의 URL을 웹 기반 API로 보냅니다. 사람들이 로컬이 아닌 네트워크에서 접근 할 수없는 컴퓨터에서이 작업을 시도하지 않도록 노력 중입니다. –
- 1. Windows 서비스가 실행 중인지 확인하는 방법
- 2. 안드로이드 미디어 플레이어가 실행 중인지 확인하는 방법
- 3. vbscript를 사용하여 Outlook이 실행 중인지 확인하는 방법
- 4. .NET 프로그램이 실행 중인지 확인하는 방법
- 5. osgi 컨테이너에서 실행 중인지 확인하는 방법
- 6. cgi 스크립트가 실행 중인지 확인하는 방법?
- 7. 모바일 장치에서 프로세스가 실행 중인지 확인하는 방법
- 8. CCAction이 실행 중인지 확인하는 방법 - cocos2d
- 9. 셀렌 서버가 백그라운드에서 실행 중인지 확인하는 방법
- 10. C++ : 외부 프로그램이 실행 중인지 확인하는 방법?
- 11. IIS가 실행 중인지 확인하는 스크립트
- 12. 프로그램이 로컬 콘솔에서 실행 중인지 확인하는 방법은 무엇입니까?
- 13. 화면 보호기가 실행 중인지 확인하는 방법은 무엇입니까?
- 14. 로컬 호스트에서 웹 응용 프로그램 실행
- 15. PHP를 사용하여 로컬 호스트에서 응용 프로그램을 실행
- 16. 스크립트가 tty에서 실행 중인지 확인하는 방법은 무엇입니까?
- 17. 스크립트가 iframe에서 실행 중인지 확인하는 방법은 무엇입니까?
- 18. 스크린 세이버가 실행 중인지 확인하는 방법은 무엇입니까?
- 19. 웹 서버에서 실행 중인지 확인하는 방법은 무엇입니까?
- 20. 파일을 읽는 중인지 확인하는 방법
- 21. 로컬 호스트에서 Gmail 보내기
- 22. 특정 명령 줄이 cmd propmt에서 실행 중인지 확인하는 방법
- 23. exe가 서버의 터미널 세션에서 실행 중인지 확인하는 방법
- 24. 지연된 작업에서 어떤 레일 환경이 실행 중인지 확인하는 방법
- 25. 일부 프로세스가 파이썬과 함께 작업 관리자에서 실행 중인지 확인하는 방법
- 26. 프로그래밍 방식으로 터미널 서버 서비스가 실행 중인지 확인하는 방법
- 27. Interbase 데이터베이스에서 어떤 쿼리가 실행 중인지 확인하는 방법
- 28. 어떤 my.cnf mysql이 사용 중인지 확인하는 방법
- 29. iPhone : iTunes가 재생 중인지 확인하는 방법?
- 30. Zeoslib : 쿼리가 아직 처리 중인지 확인하는 방법?
예, 또는 Windows 7 호스트에서 IPV6':: 1'을 사용하여 http://en.wikipedia.org/wiki/Localhost – RobertPitt
감사합니다. IPv6는 고려하지 않았습니다. 건배. –