Uma vez que um hacker pode simular a página, você pode ter problemas com dados que o programa passa para si próprio.
Isto afeta a maneira com a qual seu programa armazena estado.
Por exemplo, se você armazenar o código de usuário na QUERY_STRING, um usuário malicioso pode trocar o código de usuário e navegar como se fosse outra pessoa.
Isto também vale para cookies e campos escondidos.
O seu programa deve armazenar informações de estado em variáveis de sessão. Estes valores ficam guardados na memória do servidor e não podem ser falsificados.
Use a QUERY_STRING apenas para viabilizar “favoritos”, sem informações sensíveis.