Closed daniloqueiroz closed 12 years ago
Que lugares?
Descrição de usuário, descrição de serviço, nome de serviço, nome de categoria, comentário de transação.
Nos cantos mais simples deve ser safestring purona, nos cantos como descrição de coletivo/usuário/serviço acho que o mais legal é utilizar bbcode/markdown.
Concordo. Mas por hora, acho que podemos apenas tudo como safe string pura e depois por markdown mesmo.
Sim sim... Criei uma tarefa para implantarmos markdown. Por enquanto está tudo no milestone 1.2 apenas para organizarmos as próximas iterações.
Err... estou colocando safeString() em toda entrada de dados que é string. Algum problema nisso?
Meio exagerado, não? Acho que em ids, quando se tenta recuperar um objeto pelo id, por exemplo, é desnecessário - primeiro pq somos nós que mandamos o id, mais difícil de vir com html, dois que este dado não vai ser armazenado/re-exibido, então se vier sujeira (pq o usuário forçou a barra para injetar sujeira) vai voltar um erro de não achado ou algo do tipo.
Até porque nosso objetivo aqui tb não é evitar sql injection ou coisa do tipo, até porque o safestring remove apenas tags do tipo <.*\?> e porque o datastore usa metodos direto do JDO (para recuperar objetos pelo id por exemplo) e GQL para buscas.
Eu sei que foi exagero, mas espero ter colocado em tudo o que faltava sem ser os ids. :P
Agora é só dar uma olhada no diff e cortar os excessos :p
Há muitos lugares onde o usuário pode inserir strings - deve-se verificar se está evitando injeção de códigos html nestes lugares.