小编The*_*ing的帖子

如何使用https保护网站

我必须为公司构建一个小型webapp来维护他们的业务数据......只有公司内部的人才会使用它,但我们计划在公共领域托管它,以便员工可以从不同的位置连接到应用程序.(直到现在我已经构建了仅在内部托管的Web应用程序)

我想知道我是否需要使用安全连接(https)或只是表单身份验证就足够了.

如果你说https,我有一些问题:

  1. 我该怎么做才能为https准备我的网站.(我需要更改代码/配置)
  2. SSL和https是一样的......
  3. 我是否需要向某人申请获得某些许可证等.
  4. 我是否需要保护所有页面或仅登录页面...

我正在网上寻找答案,但我无法获得所有这些要点...任何白皮书或其他参考资料也会有所帮助......

如果您需要更多信息,请随意询问.

谢谢

  • 拉贾

asp.net ssl https asp.net-2.0

86
推荐指数
3
解决办法
11万
查看次数

内连接Vs标量函数

以下哪个查询更好...这只是一个例子,有很多情况,我希望显示用户名而不是UserID

Select  EmailDate, B.EmployeeName as [UserName], EmailSubject
    from Trn_Misc_Email as A
         inner join 
         Mst_Users as B on A.CreatedUserID = B.EmployeeLoginName
Run Code Online (Sandbox Code Playgroud)

要么

Select  EmailDate, GetUserName(CreatedUserID) as [UserName], EmailSubject
    from Trn_Misc_Email
Run Code Online (Sandbox Code Playgroud)

如果使用First没有性能优势,我宁愿使用第二个...我会在用户表中有大约2000条记录,在电子邮件表中有100k条记录...

谢谢

sql-server performance sql-server-2005 inner-join user-defined-functions

11
推荐指数
2
解决办法
7011
查看次数

javascript会有什么危害?

我碰巧在这里读到了joel的博客......

例如,如果你有一个网页上写着"你的名字是什么?",带有一个编辑框,然后提交那个页面就会带你到另一个页面,上面写着你好,埃尔默!(假设用户的名字是埃尔默),那么,这是一个安全漏洞,因为用户可以键入各种奇怪的HTML和JavaScript而不是"Elmer",他们奇怪的JavaScript可以做很多事情,现在那些麻烦的东西似乎来自你,所以例如他们可以阅读你放在那里的饼干并将它们转发给邪恶博士邪恶的网站.

由于javascript在客户端运行.它只能在客户端访问或执行.

  1. 它可以读取存储在隐藏字段中的信息并更改它们.
  2. 它可以读取,写入或操作cookie ...

但我觉得,这些信息无论如何都可供他使用.(如果他足够聪明,可以在文本框中传递javascript.所以我们没有授权他提供新信息或者让他过度访问我们的服务器......

只是想知道我是否想念一些东西.您能否列出恶意用户可以使用此安全漏洞执行的操作.

编辑:感谢所有人的启发.正如kizzx2在其中一条评论中指出的那样......我忽略了这样一个事实:用户A编写的JavaScript可能会在很多情况下在用户B的浏览器中执行,在这种情况下它会成为一个很大的风险.

javascript security web-applications

11
推荐指数
1
解决办法
1155
查看次数

MVC/MVP中的验证

我是MVC/MVP的新手,并通过创建Winform应用程序来学习它.

我在某种程度上创建了模型,演示者和视图......现在我的验证适合哪里.

我认为初始数据类型验证(只有Age字段中的数字)应该通过视图完成.而其他验证(如年龄是否在200以内)应该由模型完成.

关于数据类型验证,我的视图将值公开为属性

public int? Age 
{ 
    get 
    { 
        int val; 
        if (Int32.TryParse(TbxAge.Text, out val))
        { 
            return val; 
        } 
        return null; 
    } 
    set 
    { 
        TbxAge.Text = value; 
    } 
} 
Run Code Online (Sandbox Code Playgroud)

我可以单独执行验证,但是当它尝试访问属性Age?时,如何通知演示者验证仍处于待处理状态?特别是当该领域是可选的.

抛出一个验证暂停异常是好的,但是演示者必须在每个点都捕获它.

我的理解是正确的,还是我错过了什么.

更新(为了清楚起见): 在这个简单的情况下,年龄字段是可选的,当用户键入他的名字而不是数字时我该怎么办.我无法传递null,因为这意味着该字段已被用户留空.那么如何通知演示者输入的数据无效...

c# model-view-controller mvp winforms

7
推荐指数
1
解决办法
1773
查看次数

样本MVC/MVP winforms应用程序(非平凡)

我正在寻找在Winforms(C#.NET)中实现的MVC/MVP的一个非平凡的例子.我搜索了网站,但只获得了一些简单的例子,多一点会有所帮助.

我特别关注实现视图的方法(查看主子模型)和控制器/演示者.

.net c# model-view-controller mvp

6
推荐指数
1
解决办法
4029
查看次数

asp.net的数据库访问限制

我有这个问题很长一段时间......

我已经看过很多关于为数据库授予基于角色的访问权限的讨论......但是对于asp.net web应用程序...... Web应用程序可以通过连接字符串中指定的ID连接到数据库,无论是什么连接到应用程序的用户...(Windows auth模型除外)...

在这种情况下......不需要在DB中创建单个用户的登录,并为他提供所需的角色和访问限制.

这是否意味着,除了连接字符串中使用的用户之外,我们不必担心用于asp.net应用程序的数据库中的用户访问限制...或者我在某处出错了.

谢谢

.net database sql-server asp.net

5
推荐指数
1
解决办法
428
查看次数

连接到DB仍然更昂贵?

我是ASP.NET的新手,只是构建我的第二个实时web应用程序.

一年前我学习ASP.NET的时候,有人告诉我"连接和从数据库中获取数据是比较昂贵的,所以尽量减少连接,并有效地重新使用检索到的数据".给出的理由是

  1. 首先需要建立与DB服务器的连接.
  2. 与IIS相比,DB服务器上的并发连接将更少.
  3. 使用断开连接的架构,以便可以很快关闭连接(当然还有其他flexibilites)等等.

当我的研究扩展时,我学习了其他一些存储数据的措施,这些数据一旦从回复中检索到数据库.但现在,我逐个学习它们比连接数据库更昂贵.喜欢...

  1. 会话变量:内存大小随着用户数量而增加
  2. 查看状态:加密和旅行的过程使其更加昂贵.
  3. 应用程序变量:在所有情况下都没有那么有用.
  4. 缓存:(我知道它们,但直到现在才使用它们).

还有Oflate,我反复建议不要在会话,查看状态等中存储检索到的表,而是连接到DB并在每次回发时重新抓取它.

并根据基于SQL Server的会话状态管理查看此内容,其中Framework本身使用DB来存储会话. 我觉得,我应该忘记我对数据库连接的初步学习和看法.

你说什么 ???

我们也欢迎任何其他建议/提示.

谢谢

.net asp.net performance database-connection

4
推荐指数
1
解决办法
233
查看次数

是......好/坏/好......在存储过程中使用IF/While条件?

我主要关心的是SQL Server 2005 ...我浏览了很多网站,每个网站都有不同之处.

什么是好/可以使用的场景..例如,甚至在IF内部设置变量值或仅在我运行查询时是否会受到伤害.假设我的SP正在构建基于输入参数中的几个条件的动态SQL,我是否需要重新考虑查询...如何根据表中是否存在某些记录来运行不同的查询.等等.. 我的问题不仅限于这些场景......我正在寻找一个更广泛的答案,以便我可以改进我未来的SP

在本质上......在分支条件/循环中使用哪些语句很好,这很糟糕,哪些是好的.

performance stored-procedures sql-server-2005

4
推荐指数
1
解决办法
142
查看次数

从网格视图中获取业务对象

究竟是什么e.Row.DataItem返回.. MSDN说.. 返回一个Object,表示GridViewRow对象绑定到的底层数据对象.

这是我的DataGrid ......

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1" OnRowDataBound="GridView1_RowDataBound">
        <Columns>
            <asp:BoundField DataField="PracticeCode" HeaderText="PracticeCode" SortExpression="PracticeCode" />
            <asp:BoundField DataField="AccountNo" HeaderText="AccountNo" SortExpression="AccountNo" />
            <asp:BoundField DataField="PatientName" HeaderText="PatientName" SortExpression="PatientName" />
            <asp:TemplateField HeaderText="Status">
                <ItemTemplate>
                    <asp:Label ID="LblStatus" runat="server"></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
Run Code Online (Sandbox Code Playgroud)

然后我将它绑定到我的业务对象列表<Patient> ..在DataBound行事件中,我试试这个...

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        Patient p1 = (Patient)e.Row.DataItem;
        Label lbl = e.Row.FindControl("LblStatus") as Label;

        if (p1 == null)
        {
            throw new Exception("P1 is null");
        }

        if (p1.OpenItems.Count > 0)
        {
            lbl.Text = "Has open Items";
        }
        else …
Run Code Online (Sandbox Code Playgroud)

c# asp.net gridview business-objects

4
推荐指数
1
解决办法
4193
查看次数

在设计时设置ComboBox的Text和Value属性

我需要将以下项添加到组合框中.

值DisplayText

Mpost发表

呼叫呼叫

RScan重新扫描

这些项目是相当静态的,不会从任何数据库中检索出来......因此想到在设计时自己分配这些项目.

我无法使用Items属性,因为它只询问每个项目的一个值...你能帮忙吗?

Ps:如果您建议使用BindingSource,请举个例子.我找不到一个.

.net c# winforms

3
推荐指数
1
解决办法
1万
查看次数