English 中文(简体)
用户在登录后,不能通过打上地址的内部页码重新进入现场。
原标题:After logout the user should not be able to re enter into the site by typing the url of the internal pages in the address bar
  • 时间:2012-01-11 23:37:26
  •  标签:
  • c#
  • asp.net

i 相对而言,C#和ASP较新。 NET和我正在设计认证制度。

我创建了一个网站,用户必须登录网站,然后可以访问该网站的不同网页。 当用户点击 log链路时,他返回原木页,并收到以下信息:“你已成功登录”。 现在我如何阻止用户打上内部网页之一的URL,绕过我的认证? 在与PHP合作时,我使用<代码>session_start()和ob_end_flush(,在每一页的开头和结尾处控制认证。 伙伴关系中的类似模式是什么。 NET?

另外,我如何列入<条码>.cs文档,从代码夹到<条码>.aspx.cs?

最佳回答

Now how do i prevent re entry into the site by typing the url of the internal pages in the address bar.

http://msdn.microsoft.com/en-us/library/ff6470.aspx”rel=“nofollow” 表格认证?http://msdn.microsoft.com/en-us/library/ff647405.aspx” rel=“nofollow” 视窗认证? 某些习俗? 基本上,你们需要做的是,这些网页要经过有效认证。 如果不存在这种象征性的,则改用标识页或错误或错误。

可以通过在<代码>Page_Init方法中人工核对认证(可检索会议数据、库克群岛数据等),在您储存这种象征性信息时,您可以

The concept is the same as it was in PHP, the tooling is just a little different.

While working with PHP i used session_start() and ob_end_flush() at the beginning and the end of each page.....What is it im supposed to use in c#?

你不需要在伙伴关系中明确开始/结束会议。 NET。 网络应用范围的任何代码均可通过System.Web.HttpContext.Current.Session查阅。 同一届会议上提出的任何要求都将有这一数据。

另外,如何将文件从密码夹到 as。

在PHP中,你必须把档案列入协会。 NET是汇编成册的,因此档案如此重要。 你们需要参考的是使用该守则的名称空间/舱。 例如......

您在<代码>的档案中有以下内容: App_Code:

namespace MyApplicationCode
{
    public class SomeCode
    {
        // stuff in the class
    }
}

然后,根据申请中的任何法规,您应当能够使用其完全合格的名称(MyApplicationCode.SomeCode):

var someVariable = new MyApplicationCode.SomeCode();

Additionally, you can add a using statement in the header of the code file:

using MyApplicationCode;

其后可直接查阅:

var someVariable = new SomeCode(); 
问题回答

如果你使用表格,则使用网络配置便很简单。

  <authentication mode="Forms">
    <forms name=".ASPXAUTH" loginUrl="default.aspx" protection="All" path="/" slidingExpiration="true" timeout="60" />
  </authentication>

这一配置使网站的所有页面只能由核定用户使用。

然而,这一配置存在逻辑问题:任何人都无法登录,因为他们必须获准进入网站的任何网页。

然而,通过增加具体页数和表示任何人可以授权在这种保护下打开“漏洞”来纠正这种情况:

  <location path="default.aspx">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

用户若能成功地用自己的证书认证,则会安排一个厨师,与一个储存服务器价值的文件相对应。 该厨师向服务器证实用户是认证的。

Check how your system handles sessions, it can be done without a session cookie, too:

(pseudo-code)

if (User.Login(formUsername, formPassword)) {
    SetCookie ("LoggedIn", 1, Time() + 3600);
}

现在, whi刻需要一个挂在用户身上的 lo子,如果用户有 co子,你就要检查:

(pseudo-code)

if (CookieIsSet("LoggedIn")) {
    // this page can be viewed
}
else {
    Redirect ("/notAuthorized");
}

如果用户表示,你可以删除 co,确定过去到期日:

(pseudo-code)

SetCookie ("LoggedIn", 1, Time() - 3600);

现在,用户无法看到内部页面,因为支票(CookieIsSet(......))将失败。 现在,职能、方法和所有细节都取决于该系统,但总是这样做:

  1. if credentials are ok, set a cookie
  2. whenever an internal page is visited, check if cookie is set
  3. when logging out, delete the cookie

希望这一帮助。

为了检查用户是否在地址栏目中分类,我将简单地检查乌尔都尔保护区的网页负荷,其他方面应当由网络安全和国家管理加以控制。

 if (Request.UrlReferrer == null)
        Response.Redirect("errorpage.aspx");




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Transaction handling with TransactionScope

I am implementing Transaction using TransactionScope with the help this MSDN article http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx I just want to confirm that is ...

System.Web.Mvc.Controller Initialize

i have the following base controller... public class BaseController : Controller { protected override void Initialize(System.Web.Routing.RequestContext requestContext) { if (...

Microsoft.Contracts namespace

For what it is necessary Microsoft.Contracts namespace in asp.net? I mean, in what cases I could write using Microsoft.Contracts;?

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签