CakePHP3.2.4 -> 3.2.5에서 변경된 $this->request->clientIp() 정보
Cake\Network\Request::clientIp()가 변경되었고 HTTP_CLIENT_IP를 보는 것은 Request::trustProxy가 true 일 때만되었습니다. ( HTTP_CLIENT_IP 는 위장될 우려가 있기 때문에.)그래서 로드 밸런서나 프록시를 통한 경우,
$this->request->trustProxy = true;
$clientIp = $this->request->clientIp();
라고 하면, 지금까지와 같이
HTTP_X_FORWARDED_FOR 이나 HTTP_CLIENT_IP 를 봅니다만, trustProxy 가 false 의 경우(디폴트)라면, REMOTE_ADDR 만을 봅니다. (이전에는 HTTP_CLIENT_IP 이나 HTTP_CLIENTADDRESS 도 보고 있었다.)그래서, 지금까지
$this->request->clientIp()를 사용하고 있던 것이 CakePHP3.2.5로의 버전 업으로 그대로 움직일지 어떨지는, 조금 확인이 필요하다고 생각합니다. (원래 REMOTE_ADDR 의 값이 사용되고 있었던 경우는 문제 없을 것.)유닛 테스트 정보
clientIp() 를 사용하여 액세스 제어를하는 것과 같은 부분을 테스트하는 경우,
tests/TestCase/Controller/ArticlesControllerTest.phppublic function testIpOk()
{
    $allowedIp = '192.168.1.1';
    $this->configRequest([
        'headers' => ['CLIENT_IP' => $allowedIp]
    ]);
    $this->get('/articles');
    $this->assertResponseOk();
}
라는 느낌으로, configRequest() 로 headers 에 CLIENT_IP 를 지정( HTTP_CLIENT_IP 가 세트 되게 된다) 하고 있었습니다만, 이것이라면 이번 갱신으로 clientIp() 로부터 값이 돌려주었습니다 오지 않습니다.headers 로 지정하면 마음대로 HTTP_ 가 머리에 붙이고 REMOTE_ADDR 를 지정하려면 어떻게 하면, , 라고 생각하면 environment 로 설정할 수 있었습니다. 
tests/TestCase/Controller/ArticlesControllerTest.phppublic function testIpOk()
{
    $allowedIp = '192.168.1.1';
    $this->configRequest([
        'environment' => ['REMOTE_ADDR' => $allowedIp]
    ]);
    $this->get('/articles');
    $this->assertResponseOk();
}
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(CakePHP3.2.4 -> 3.2.5에서 변경된 $this->request->clientIp() 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/ran/items/cb70a65f87ae3af9ad92
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
public function testIpOk()
{
    $allowedIp = '192.168.1.1';
    $this->configRequest([
        'headers' => ['CLIENT_IP' => $allowedIp]
    ]);
    $this->get('/articles');
    $this->assertResponseOk();
}
public function testIpOk()
{
    $allowedIp = '192.168.1.1';
    $this->configRequest([
        'environment' => ['REMOTE_ADDR' => $allowedIp]
    ]);
    $this->get('/articles');
    $this->assertResponseOk();
}
Reference
이 문제에 관하여(CakePHP3.2.4 -> 3.2.5에서 변경된 $this->request->clientIp() 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ran/items/cb70a65f87ae3af9ad92텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)