Tag: asp.net

防止ASP.NET Web应用程序上的SQL注入

我是C#和ASP.NET的新手。 我正在使用VS2005 C#和SQL Server 2005,并且已经做了一些关于防止SQL注入的研究 我的服务器端 Web应用程序中有几个函数,我不确定它们是否需要输入validation。 1)从工具箱登录控件。 我已经直接从VS Toolbox实现了登录控件,我尝试使用RegularExpressionValidator作为我的登录工具,但它似乎不起作用。 Microsoft是否已对该工具进行内置validation? 2)将Excel文件表上传到SQL Server数据库。 我有一个function,允许用户将Excel文件表上传到数据库中。 一开始我不觉得有必要validation它,因为没有打开的SQL查询,但之后我问自己是否有可能用户在excel文件中输入SQL查询,这将导致上传期间的SQL注入。 以下是我的上传代码片段,如果需要validation,我们期待提供建议: string connStr = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + strUploadFileName + “;Extended Properties=Excel 8.0;”; using (OleDbConnection connection = new OleDbConnection(connStr)) { string selectStmt = string.Format(“Select [COLUMNS] FROM [userlist$]”); OleDbCommand command = new OleDbCommand(selectStmt, connection); connection.Open(); Console.WriteLine(“Connection Opened”); // Create DbDataReader to Data […]

使用Gmail发送电子邮件。 错误:服务器响应为:5.5.1需要身份validation

对不起,我看到很多关于此事的类似post,但从来没有找到任何解决我的问题,所以我决定发布它。 我使用ASP.NET c#使用gmail以编程方式发送电子邮件,代码如下。 string EmailAddress = senderemail; MailMessage mailMessage = new MailMessage(EmailAddress, EmailAddress); mailMessage.Subject = “This is a test email”; mailMessage.Body = “This is a test email. Please reply if you receive it.”; SmtpClient smtpClient = new SmtpClient(); smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; smtpClient.EnableSsl = true; smtpClient.Host = “smtp.gmail.com”; smtpClient.Port = 587; smtpClient.Credentials = new System.Net.NetworkCredential() { […]

Visual Studio多项目解决方案选项

我有一个VS2003解决方案,里面有21个ASP.NET 1.1项目。 我的目标是最终将它们迁移到2.0然后再迁移到4.0。 不同部门主要有内部管理应用程序。 我想在VS2010中创建一个多项目解决方案,并在VS2010中的ASP.NET 4.0 Web窗体中一次迁移/重新编码这些解决方案。 所有项目都会有一些共同的工件,如CSS,脚本和图像。 资源的使用是否可以帮助使用公共文件,是否可以为所有项目创建一个母版页? 在这里创建多项目解决方案的最佳选择是什么?

将参数从silverlight传递到ASP.net

我在Silverlight上做了一个小游戏,在玩游戏时记录用户的分数。 我决定如果我能实现一个排行榜会更好,所以我在mySQL中创建了一个数据库来存储所有高分以及名称和日期。 我在ASP.net中创建了一些与数据库的通信。 这有效,我可以简单地在代码中插入和获取数据。 现在是时候将Silverlight项目与ASP.net数据库通信联系起来了,所以我可以将用户名和分数作为变量发送到我的ASP.net代码,然后将其上传到数据库。 这就是我所需要的一切。 当然必须有一种简单的方法来做到这一点,我似乎无法在研究时找到任何方法。 提前谢谢,劳埃德

条件陈述的区别

以下两个陈述之间是否有任何区别? if (null != obj) 和 if (obj != null) 如果两者处理相同哪个更好?

System.Web.HttpContext.Current.User.Identity.IsAuthenticated有时会失败

我的生产网站(不是我的开发网站)遇到了问题。 有时Firefox和Chrome都无法登录用户(所有用户都在我们的客户网络和一般网络上)。 但奇怪的是,Internet Explorer始终正常工作,并且从未失败过一次(我在浏览器中删除了缓存和cookie,但仍然会发生同样的事情)。 然后经过一个小时或一段时间后,Firefox和Chrome会再次开始正常运行。 我有一个缩小到下面的function,即使在登录后总是返回false。 public bool isLoggedIn() { return System.Web.HttpContext.Current.User.Identity.IsAuthenticated; } 所以这个过程如下,用户将使用此function登录: public void Login_OnClick(object sender, EventArgs args) { string email = UserName.Text; string password = Password.Text; string errorMsg = string.Empty; bool cb = cb_agreeterms.Checked; if (tests) { // The code in here tests to see if email, password, etc. have been filled […]

WCF中的静态变量

我有一些WCF服务。 这些服务在ASP.NET中运行。 我希望这些服务能够访问静态变量。 我的问题是,我不确定适当的服务器级存储机制在哪里。 我不想因为速度而使用数据库。 但是,我希望静态变量尽可能长时间保留在内存中。 事实上,如果可能的话,我希望它能保持到重新启动我的服务器。 任何人都可以提供任何想法吗?

ASP.NET MVC消息处理程序与Web API消息处理程序

我创建了2个项目: 正常的,基本的ASP.NET MVC 4应用程序 基本的ASP.NET WebAPI应用程序 我做的是我添加了自定义消息处理程序,从DelegatingHandler派生到它们。 这里是: public class MyHandler : DelegatingHandler { protected override Task SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) { return base.SendAsync(request, cancellationToken); } } 我在global.asax中注册了它们: GlobalConfiguration.Configuration.MessageHandlers.Add(new MyHandler()); 我给了一个断点 return base.SendAsync(request, cancellationToken); ASP.NET MVC和ASP.NET WebAPI之间的区别在于,当我调用ASP.NET MVC应用程序( http://localhost:4189/Something )时,不会触发断点 。 然而,当我调用Web API( http://localhost:7120/api/values )时, 会触发断点。 这是为什么? 那些应用程序类型执行流程有什么不同吗? 另外,当我尝试请求普通的Controller ,而不是ApiController应用程序的ApiController,如http://localhost:7120/Home , 不会触发断点。

在MVC5中指定日期格式(dd / MM / yyyy)

我正在尝试处理日期值的用户输入,我想提示用户以这种格式输入日期:dd / MM / yyyy 我试图做的: 我在这个问题中阅读并实现了Darin的答案: 在asp.net mvc 4中格式化日期时间 这是我的实现: 在Global.asax中 (ControllerContext controllerContext, ModelBindingContext bindingContext) { var displayFormat = bindingContext.ModelMetadata.DisplayFormatString; var value = bindingContext.ValueProvider.GetValue(bindingContext.ModelName); if (!string.IsNullOrEmpty(displayFormat) && value != null) { DateTime date; displayFormat = displayFormat.Replace (“{0:”, string.Empty).Replace(“}”, string.Empty); if (DateTime.TryParse(value.AttemptedValue, CultureInfo.InvariantCulture, DateTimeStyles.None, out date)) { return date; } else { bindingContext.ModelState.AddModelError( bindingContext.ModelName, string.Format(“{0} […]

ASP.NET网页 – 使用WebImageresize和保存照片

我正在使用ASP.NET网页创建一个表单,我可以在其中选择图像。 我想将图像调整为各种不同的尺寸,以便我可以在我的网站上显示它们。 这适用于较小的图像(在文件大小),但我想要resize的图像来自我的数码单反相机,它们可以大到每个jpeg 14MB。 我收到以下错误… Maximum request length exceeded. 我添加了一个带有以下代码的web.config : 我不再收到错误,但实际上并没有做任何事情。 它仍适用于较小的图像。 我在这里使用了这个教程: http : //www.asp.net/web-pages/tutorials/files,-images,-and-media/9-working-with-images 我的代码如下: @{ WebImage photo = null; var newFileName = “”; var imagePath = “”; var imageThumbPath = “”; if(IsPost){ photo = WebImage.GetImageFromRequest(); if(photo != null){ newFileName = “Original_” + Path.GetFileName(photo.FileName); imagePath = @”images\” + newFileName; photo.Save(@”~\” + imagePath); […]