如何设计优秀的公司网站,绿色主题网站,wordpress侧栏插件,网站开发的环境上传文件上传文件是造成风险的很大因素#xff0c;所以对上传文件进行处理是重要的#xff0c;首先要处理的是#xff1a;a、上传文件大小限制#xff1b;b、上传文件类型(能过扩展或#xff0c;或文件头)限制#xff1b;c、上传的名称要替换掉#xff1b;d、上传的文件… 上传文件上传文件是造成风险的很大因素所以对上传文件进行处理是重要的首先要处理的是a、上传文件大小限制b、上传文件类型(能过扩展或或文件头)限制c、上传的名称要替换掉d、上传的文件要在专用区域(如果能设置权限最好)最好。[HttpPost(/files)]
public async TaskIActionResult Files(ListIFormFile files)
{//要据上传文件的特征一定要验证用户上传文件的可信度var size files.Sum(f f.Length);foreach (var formFile in files){//扩展名var extension Path.GetExtension(formFile.FileName);var filePath ${Directory.GetCurrentDirectory()}/uploadfiles/{DateTime.Now.ToString(yyyyMMddHHmmss)}{extension};if (formFile.Length 0){var extesion Path.GetExtension(formFile.FileName);var stream new FileStream(path: filePath, mode: FileMode.Create);await formFile.CopyToAsync(stream);}}return Ok(new { count files.Count, size });
}
sql注入sql注入的处理很多ORM都 有对应的解决方案但有些时候代码检查工具会把一些非注入的场景检测成注入的情况要尽量sql语句拼接一定以参数据形式代入这样不但能避免注入还能让检测工具通过。防止跨站点请求伪造在asp.net core中的防跨站点伪就是在服务端生成一个字符串提交到后台时验证这个串是否正确正确就通过说明是同一站点否则为不信任站点提交。配置防跨站点伪造配置 public void ConfigureServices(IServiceCollection services){ #region 5、防止跨站点请请求伪造xsrf/csrf//防止跨站点请请求伪造xsrf/csrf//ajax提交时需要自定义Head时使用services.AddAntiforgery(options {options.FormFieldName AntiforgeryGSW;options.HeaderName X-CSRF-TOKEN-gsw;options.SuppressXFrameOptionsHeader false;});//省略n行人码}
在对应的controller上应用防跨站点伪造特性 [AutoValidateAntiforgeryToken]//不会应用于get,head,options,tracepublic class HomeController : Controller{}
客户商在form表单 用应用form actionlogin methodpostHtml.AntiForgeryToken()
form
在ajax中应用scriptfunction add() {$.ajax({type: POST,contentType: application/json,headers: {X-CSRF-TOKEN-gsw: $([nameAntiforgeryGSW]).val()},url: /csrf,dataType: json,data: JSON.stringify({ ID: 112, Name: 李四 }),success: function (data) {console.log(data);},error: function (err) {console.log(err);},complete: function (XMLHttpRequest, status) { //请求完成后最终执行参数 }})}
/script