我试图验证上传到我的应用程序中的文件实际上是该文件,以提高安全性。
对于图像格式,我们可以检查魔术位和文件扩展名以确定格式。
我正在为CSS文件做同样的事情。据我了解,CSS文件没有神奇的地方。我可以检查的范围是UTF-8格式文件中的魔术位,如果出现注入缺陷,就无法防止脚本被攻击。
当前,我们确认文件扩展名正确,但是如果您要更改文件扩展名,则可以上传任何文件。
是否有验证CSS文件的最佳实践方法?
答案 0 :(得分:0)
您可以读取文件内容并使用正则表达式检查有效的CSS样式,例如:
([#.@]?[\w.:> ]+)[\s]{[\r\n]?([A-Za-z\- \r\n\t]+[:][\s]*[\w .\/()\-!]+;[\r\n]*(?:[A-Za-z\- \r\n\t]+[:][\s]*[\w .\/()\-!]+;[\r\n]*(?2)*)*)}