1. A method for providing invitation codes, comprising: at a computer system having one or more processors and memory storing one or more programs for execution by the one or more processors: obtaining, from a client device, a request for an invitation code; responsive to the request for an invitation code: presenting to the client device a completely automated public Turing test to tell computers and humans apart (CAPTCHA) challenge configured to be answered by a human; obtaining a text typed in response to the CAPTCHA challenge from the client device; determining whether the typed text is deemed to correctly identify a text shown in the CAPTCHA challenge; responsive to a determination that the typed text is deemed to correctly identify the text shown in the CAPTCHA challenge, delivering to the client device an invitation code corresponding to the request for an invitation code, wherein the invitation code enables a user to begin an account registration process using the client device; and responsive to a determination that the typed text is not deemed to correctly identify the text shown in the CAPTCHA challenge, refusing the request for the invitation code; storing information corresponding to the invitation code and a unique identifier, associated with the client device, in association with each other in a data structure at the computer system; and in response to delivering the invitation code: receiving an account-registration request that includes the invitation code and a respective identifier; in accordance with a determination that the invitation code and the respective identifier are consistent with the stored information, registering a new user account; and in accordance with a determination that the invitation code and the respective identifier are not consistent with the stored information, rejecting the account registration request.