A computer system configured to improve security of one or more server computers interacting with one or more client computers by determining whether requests sent by the one or more client computers are generated by a legitimate user using a web browser or a malicious user using a bot, the system comprising: one or more processors; a memory coupled to the one or more processors and storing a set of instructions that define a plurality of detection tests and which, when executed by the one or more processors, cause the one or more processors to: select, from the plurality of detection tests, one or more first detection tests to be performed by a client computer among the one or more client computers; send, to the client computer, a first set of detection instructions that define the one or more first detection tests, and which when executed causes generating a first set of results that identifies a first set of characteristics of the client computer, wherein the first set of characteristics indicates that the client computer is executing an instance of a particular browser; receive the first set of results from the client computer; select one or more first countermeasures from a plurality of countermeasures, wherein the one or more first countermeasures are targeted toward and associated with the particular browser; and the one or more first countermeasures are selected based on determining that the one or more first countermeasures are associated with the particular browser; and send, to the client computer, a first set of countermeasure instructions that define the one or more first countermeasures. one or more processors; a memory coupled to the one or more processors and storing a set of instructions that define a plurality of detection tests and which, when executed by the one or more processors, cause the one or more processors to: select, from the plurality of detection tests, one or more first detection tests to be performed by a client computer among the one or more client computers; send, to the client computer, a first set of detection instructions that define the one or more first detection tests, and which when executed causes generating a first set of results that identifies a first set of characteristics of the client computer, wherein the first set of characteristics indicates that the client computer is executing an instance of a particular browser; receive the first set of results from the client computer; select one or more first countermeasures from a plurality of countermeasures, wherein the one or more first countermeasures are targeted toward and associated with the particular browser; and the one or more first countermeasures are selected based on determining that the one or more first countermeasures are associated with the particular browser; and send, to the client computer, a first set of countermeasure instructions that define the one or more first countermeasures. select, from the plurality of detection tests, one or more first detection tests to be performed by a client computer among the one or more client computers; send, to the client computer, a first set of detection instructions that define the one or more first detection tests, and which when executed causes generating a first set of results that identifies a first set of characteristics of the client computer, wherein the first set of characteristics indicates that the client computer is executing an instance of a particular browser; receive the first set of results from the client computer; select one or more first countermeasures from a plurality of countermeasures, wherein the one or more first countermeasures are targeted toward and associated with the particular browser; and the one or more first countermeasures are selected based on determining that the one or more first countermeasures are associated with the particular browser; and send, to the client computer, a first set of countermeasure instructions that define the one or more first countermeasures.