一,不能仅仅依赖客户端js进行判断和校验,需要在服务器端进行校验;
二,通过白名单的方式控制允许上传文件的类型,注意不要用黑名单,很容易忽略或者遗漏;
三,校验上传文件的大小和上传的路径;
四,禁止上传.htacess文件,校验上传文件的内容,有时不能仅仅只判断magic num;
(上传.htacess文件在部分配置有问题的php中会覆盖之前的权限控制文件.htacess,导致脚本执行权限的口被撕开)
五,上传文件的目录,不能被服务配置成可以执行脚本的目录;(重点)