Pergunta

Gostaria de permitir que meus usuários webapp para salvar CSS personalizada através de um campo de texto para modificar a aparência do seu GUI.

Eu acho que existem alguns hacks mal CSS lá fora. O que devo tomar cuidado sobre?

Foi útil?

Solução

Uma solução seria para você para fornecer as opções do usuário através de algum editor, permitindo-lhes escolher a cor / tamanho de vários elementos. Em seguida, gerar o CSS-se com base nas opções que o usuário tenha fornecido.

Isso impediria qualquer CSS fora do padrão, ou CSS você não deseja usar para ser salvo.

Outras dicas

Não é exatamente uma coisa, que eu poderia pensar: expressões CSS (que são, no entanto, apenas avaliados no IE). Estes permitem JavaScript em arquivos CSS, por isso gostaria de tirar qualquer coisa como

property: expression(...);

ou simplesmente lançar um erro "Não permitido".

Mas então, se você entregar a volta CSS exatamente ao usuário que colocá-lo em, em primeiro lugar, ele é responsável, se ele se apresenta uma vulnerabilidade de XSS.

Em qualquer outro caso:. Solução Use Zeus'

Se você está permitindo que os usuários diretamente incluem CSS custom-built em seu site, você está pedindo para hackers para assumi-la. Você está realmente fazendo o sistema theming menos usável, porque únicas pessoas que sabem CSS são capazes de fazer isso. A menos que seu site é especificamente para os programadores web-based, é provavelmente melhor para fazer um conjunto de temas que os usuários podem escolher de vez.

Você também pode fazer um conjunto de ferramentas em seu site que permitem ao usuário estilos mudanças específicas na página através de uma interface de usuário em vez de diretamente através de CSS. Isso permitirá que mais usuários para mais flexível estilo suas páginas, mas geralmente vem com o custo de mais tempo de desenvolvimento - a menos que você estiver usando um CMS, e seu CMS especial permite essa funcionalidade facilmente no núcleo, ou em um plug-in

Espero que isso ajude.

Entre as coisas Outros diziam: verificar se eles estão CSS válido: http: //jigsaw.w3. org / css-validator /

Embora eu iria para resposta de Zeus, você poderia usar um analisador CSS (pesquisa de modo, há várias perguntas) e verificar todas as entradas com uma lista de propriedades aprovadas (color, background, etc).

Se os usuários só podem modificar seu próprio CSS e não a um dos outros usuários, qual é o risco? O CSS só será servida a eles, assim, no pior caso, eles serão capazes de cortar-se, não?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top