Detecting malicious activities with user-agent-based profiles
introduction to automata theory , languages and computation .