지훈군의 IT&개발&문화&생활 블로그

[PHP] CURL User Agent 설정하기 본문

IT개발

[PHP] CURL User Agent 설정하기

지훈군 지훈군 2017.08.15 11:30

안녕하세요. 지훈군입니다.


보통은 PHP에서 CURL 을 사용하는 경우는... 

API를 운영하거나, 외부에서 XML이나 JSON 데이터를 조회할때 많이 사용합니다.

그러다 보면... PHP 에서 CURL 을 사용 할때, User Agent 를 설정하고 싶을 수 있습니다. 

이것을 왜 설정해야 하는지는, 서버에서 접속 로그를 찍어보시면 알 수 있습니다.


1) User Agent 소개 및 PHP CURL 설정 방법


일반적으로 검색봇이 사이트에 접속하게 되면, 자신이 어떤 검색봇인지를 노출합니다. 

일반적으로 아래와 같은 User Agent는 많이 알려져 있습니다. 


  • Chrome: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2
  • Internet Explorer 10: Mozilla/1.22 (compatible; MSIE 10.0; Windows 3.1)
  • Internet Explorer 6: Mozilla/4.08 (compatible; MSIE 6.0; Windows NT 5.1)
  • Googlebot: Googlebot/2.1 (+http://www.google.com/bot.html)
  • Bingbot: Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
  • IE 11: Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko
  • Opera: Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14
  • Safari: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A
  • Twitter: Twitterbot/1.0
  • Facebook: facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php)

보시면, 접속시 사용된 User Agent 만 봐도 어디서 접속을 했는지 알수가 있습니다.

보통은 PHP CURL을 사용할때, 외부 API와 연동하거나, 내부적으로 만든 서비스와 연동을 하는 편이 많기 때문에

접속 로그를 편리하게 확인하거나 로그 분석시 사용하기 위해서 설정하여 사용하시면 편리합니다. 


<?php
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_USERAGENT, "From My Agent Service" );
?>


PHP CURL 에서는 위와 같이 User Agent 를 설정하면, 서버 접속 로그에 User Agent 가 포함되어 노출이되게 됩니다. 



2) User Agent 를 무조건 믿지 말것


그런데... 이런 User Agent 는 의외로 쉽게 조작하거나 변경할 수 있기 때문에, 반드시 이 값을 믿을 건 아니라고 합니다. 

조작이 쉽게 가능하기 때문인데요. 참고용으로만 사용하시는 것이 좋으며, 

접속하는 IP를 반드시 함께 확인해서 이상 접속이 있는지도 추가로 확인하시고 이용하시기 바랍니다. 



- 자료출처 : http://thisinterestsme.com/php-set-curl-user-agent/



감사합니다. 

저작자 표시 비영리 변경 금지
신고
0 Comments
댓글쓰기 폼