필자는 입력 유효성 검사 및 암호화를 비롯한 다양한 통신 관련 옵션을 포함하는 API 프레임 워크를 구축했습니다.사용자 에이전트 문자열에 PHP 용 PHP 버전과 Apache 버전을 보내는 것이 옳은가요?
다른 시스템에서 내 API에 연결하려고 할 때 프로세스를 단순화하기 위해 모든 옵션 때문에 'API 래퍼'클래스가 필요하다고 생각했습니다. 그래서 그들은 기본적으로 하나의 클래스를 다운로드 할 수 있으며 시스템에서 그 클래스를 통해 내 시스템에 쉽게 연결할 수 있습니다.
이 래퍼 클래스는 cURL을 사용하여 요청을 만듭니다.
내 시스템에는 모든 요청에 대해 사용자 에이전트 문자열을 추적하는 것을 포함하여 향후 참조 및 조사 (문제가 성능 등급 표시와 함께 나타나는 경우)를 위해 API 호출을 추적하는 로거도 포함됩니다.
내 질문에, 나는이처럼 API 래퍼 클래스 버전과 함께 해당 문자열에서 아파치와 PHP 버전 번호를 포함하는 경우 그것을 얼마나 좋은지 나쁜지 :
myApi/1.0 (Apache 2.2.17;PHP 5.4.0)
나는 그것이 인 경우 걱정 문제는 PHP 버전 번호가 서버와 클라이언트 컴퓨터와 서버 사이에 있지 않더라도 웹에서 이러한 방식으로 전송되는 경우 문제가 발생합니까?
서비스가 여러 버전의 PHP/Apache에서 동시에 호스팅됩니까? 그렇지 않다면 새로운 시스템으로 이동할 때마다 API 버전 번호를 업데이트 할 것입니다. 그들은 서버 정보를 알 필요가없고, 변경할 수없고, 아마도 조정할 수 없으므로, 그것이 당신의 이익을 위해서라면, 나는 그것을 피할 것입니다. 그리고 네, PHP 또는 Apache (또는 WordPress)의 버전을 아는 것은 모든 버전의 버그/취약점을 알고 있기 때문에 위험합니다. – Anthony
앤서니 (Anthony)가 말했듯이, 보안 대책이 최종 사용자로부터 서버 세부 사항을 숨기는 것이 좋습니다. – Nazariy
이점은 API 성능에 대한 더 나은 피드백을 제공하므로 해당 프레임 워크에서 개발하는 개발자에게 이점이 있습니다. 하지만 개발자가 더 나은 성능 피드백을 얻으려면 서버 보안을 희생하지 않고 API 래퍼 버전 번호 만 남겨 두는 것이 좋습니다. – kingmaple