묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
php 도메인 유효성 검사 소스는....?
2007.03.12 00:35
php로 도메인이 유효한 도메인인지 검사하여 출력하려면 복잡한가요?
예)
http://domaintest.co.kr 을 검사하여 접속이 되는 도메인이면 '1' 접속이 되지 않으면 '0'이 출력되도록 만들고 싶습니다.
감사합니다.
예)
http://domaintest.co.kr 을 검사하여 접속이 되는 도메인이면 '1' 접속이 되지 않으면 '0'이 출력되도록 만들고 싶습니다.
감사합니다.
댓글 5
-
사진인
2007.03.15 19:29
-
열반Ⅳ
2007.03.13 18:01
$url="http://domainest.co.kr";
$fp=@fopen($url,"r");
if($fp) {
echo "1";
}
else {
echo "0";
}
// 이 정도면.....? url을 바꿔서 해보세요. 지금은 0이 나올겁니다. 유효한 주소(nzeo.com 등...)로 하면 1 나올겁니다. -
김연
2007.03.20 05:50
네 요즘은 거의 url은 fopen 을 off 로 한다고 보시면 됩니다. -
김연
2007.03.23 06:54
여러가지 방법들을 사용하시지만 우선 간단하게 테스트 해보세요.
물론 문제가 많긴 하지만 간단하게 사용가능하실 겁니다.
주소와 포트를 바꿔주시면 됩니다.
socket 연결이 실패하게 되면 확인이 불가능하며, 서버에 따라 이 기능을 지원하지 않을 수도 있습니다.
<?php
function chkServer($host, $port)
{
$hostip = gethostbyname($host);
if ($hostip == $host) // if the IP is not resloved
{
echo "서버확인안됨";
}
else
{
if (!$x = fsockopen($hostip, $port, $errno, $errstr, 5))
{
echo $host . " : 서버닫힙";
}
else
{
echo $host . " : 서버열림";
if ($x)
{
fclose($x);
}
}
}
}
chkServer('nzeo.com',80);
?> -
열반Ⅳ
2007.03.22 00:54
개행문자 등이 원인이 될 수도 있습니다.
다른 데서 긁어 온 변수라면 trim($url) 등으로 처리해서 써보세요.
아니면 http://내주소/1.php?url=http://www.domaintest.co.kr이렇게 받아오면 제대로 처리를 못 해줄 수도 있으니
http://www.domaintest.co.kr을넘겨주는 페이지에서 urlencode 시켜주셨다가 1.php 에서 urldecode 시켜서 다시 해 보십시오. 그렇다면 이렇게 되겠죠.
http://내주소/1.php?url=http%3A%2F%2Fdomaintest.co.kr
그런데..
url을 유효한 도메인으로 해 봤지만, 아무리 해봐도. 값이 모두 0으로 나옵니다.
여기저기 알아보니...서버에서 fopen 을 보안상의 이유로 막아 놔서 그런다는데요.
그래서 그런지요...
아니면....?