Der CURL User-Agent
Also, wie kann ich überprüfen mit codeigniter, wenn der client curl, und dann wieder etwas anderes für Sie?
- Können Sie fälschen oder einen benutzerdefinierten user-agent-header bei der Verwendung von cURL, so dass Sie nicht zuverlässig.
- Ich Frage, was ist die Standard-Benutzer-agent von LOCKE, oder für diese Angelegenheit, php-cURL
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie fake der user-agent bei der Verwendung von cURL, also ist es sinnlos, je nach user-agent wird gesendet, wenn Sie WISSEN, dass es eine cURL-Anfrage.
Beispiel: ich schrieb vor kurzem eine app, die ruft den pagerank von einer url von google. Jetzt Google nicht mag, so ist es erlaubt nur einem bestimmten user-agent, um die pagerank-Server. Lösung? Fälschen des user-agent mit cURL und der Google wird nicht klüger sein.
Moral von der Geschichte: cURL-user-agents sind NICHT GERADE zuverlässig.
Wenn Sie immer noch wollen, dies zu tun, dann sollten Sie in der Lage sein, um den übergebenen user-agent-genauso wie die normalen
BEARBEITEN EIN kurzer test zeigte:
dumpx.php:
dump.php:
Fall 1: http://localhost/dumpx.php?u=y
Fall 2: http://localhost/dumpx.php?u=n
Kein $_SERVER['HTTP_USER_AGENT']
Dies beweist, dass es keine Standard-Benutzer-agent für curl: es wird einfach nicht passieren in der request-header
Wenn Sie wollen, um zu erkennen, bots, Sie kann sich nicht auf user-agent. Best practices sind:
cURL steht für " Client URL Bibliothek-und der ganze Punkt ist es in der Lage sein, um Anfragen, die sind identisch, was ein Kunde machen würde.
Die einzige Sache, die Sie tun können, ist die information erkennen, der Teil der Anfrage, wie die IP-Adresse, HTTP-Request-Header, cookies/session-id-cookie, URL (Pfad/Seite), und alle post/get-Daten. Wenn die person, die mit curl zu machen, der Wunsch es zu tun ist, aus einer erwarteten IP-Adresse und liefert die erwartete Kopf - /cookie/token/URL/post/get Werte, dann würden Sie nicht in der Lage zu unterscheiden, eine curl-Anfrage von einem browser, der die Anfrage.
Können Sie spoof oder einen benutzerdefinierten user-agent-header bei der Verwendung von cURL, so dass Sie nicht zuverlässig.
Andernfalls können Sie dies tun:
Dies würde nur auftreten, wenn die cURL-Anfrage enthalten
curl
im user-agent-header.Soweit ich weiß, gibt es keine Standard-Benutzer-agent gesetzt werden, wenn dabei eine curl-Anfrage.
User-Agent: curl/7.47.0
wenn Sie nicht angeben manuell.