The CURL User Agent

前端 未结 4 536
离开以前
离开以前 2020-12-11 15:11

So how can I check using codeigniter if the client is curl, and then return something different for it?

4条回答
  •  死守一世寂寞
    2020-12-11 15:53

    You can fake the user-agent when using cURL, so it's pointless depending on the user-agent sent when you KNOW it's a cURL request.

    For example: I recently wrote an app which gets the pagerank of a url from google. Now Google doesn't like this, so it allows only a certain user agent to access its pagerank servers. Solution? Spoof the user-agent using cURL and Google will be none the wiser.

    Moral of the story: cURL user agents are JUST NOT reliable.

    If you still want to do this, then you should be able to get the passed user agent just like normal

    $userAgent=$_SERVER['HTTP_USER_AGENT'];
    

    EDIT A quick test proved this:

    dumpx.php:

    
    

    dump.php:

    
    

    Case 1: http://localhost/dumpx.php?u=y

     'HTTP_USER_AGENT' => string 'booyah!' (length=7)
    

    Case 2: http://localhost/dumpx.php?u=n

    No $_SERVER['HTTP_USER_AGENT']

    This proves that there is no default user agent for curl: it will just not pass it in the request header

提交回复
热议问题