Toon posts:

[Asp.net] View state bug, hoe omzeilen?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Het volgende: Ik ben een tutorial aan het volgen om te leren hoe ik een login pagina in elkaar zet in asp.net.
Ik volg deze tutorial: http://www.wintellect.com/resources/tutorials/html/aspnet_security.asp?id=1
Deze is geschreven voor .net beta2.
Het probleem echter bij het uitvoeren van deze code is dat er een verandering is aangebracht in bepaalde code in de final version van .net:

http://groups.google.com/groups?q=HttpException+(0x80004005):+The+View+State+is+invalid+for+this+page+and+might+be+corrupted&hl=nl&lr=&ie=UTF-8&oe=UTF8&selm=%237fg1ZPoBHA.1604%40tkmsftngp04&rnum=3

Hierin legt een MS developer het 1 en ander uit.

Mijn kennis gaat echter niet zover om dit te kunnen ontcijferen en toe te passen op mijn probleem.

Ik vind het erg leuk om bezig te zijn met .net, echter tegen dit soort problemen kan ik op dit moment nog geen passend antwoord geven, iemand die mij zou willen helpen?

Ik ben nu in stap 8 van de tutorial......

Thx in advance!



HttpException (0x80004005): The View State is invalid for this page and might be corrupted

Verwijderd

Topicstarter
Mijn uitwerking tot op heden is te bewonderen op: httP://80.60.117.197/au/publicpage.aspx

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
als je je custom errors even op off zet kunnen mensen de exacte foutmelding zien

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Ehm Rismo we kunnen die foutmelding niet bekijken. Die is om veiligheidsredenen afgeschermd voor niet lokale browsers.

Duseh zet dat even aan:

Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".


<!-- Web.Config Configuration File -->

<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>


Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.


<!-- Web.Config Configuration File -->

<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>

Verwijderd

Topicstarter
web.config gefixed.....

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 03-09 15:18

Crazy D

I think we should take a look.

Nou als ik het zo zie moet je dit toevoegen/aanpassen in je config:
Try to set the machineKey settings in webconfig to

<machineKey validationKey="AutoGenerate" validation="SHA1"/>
En er staat ook nog bij dat i.p.v SHA1 MD5 zou moeten kunnen, maar dat dat bij die ene gast niet werkt, SHA1 wel.

Exact expert nodig?


Verwijderd

Topicstarter
Ja dat heb ik gelezen, echter ik gebruik in dit voorbeeld helemaal geen encrytptie

Mijn web.config:

<configuration>
<system.web>
<customErrors mode="Off"/>
<authentication mode="Forms">
<forms loginUrl="LoginPage.aspx">
<credentials passwordFormat="Clear">
<user name="Jeff" password="imbatman" />
<user name="John" password="redrover" />
</credentials>
</forms>
</authentication>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</configuration>



Als ik de beveiligde pagina open: http://80.60.117.197/au/secret/protectedpage.aspx word ik wel netjes naar de login verwezen. Dit functioneert.

Waar het dus omgaat is dit stukje:

<h1>Public Page</h1>
<hr>
<form runat="server">
<asp:Button Text="View Secret Message"
OnClick="OnViewSecret" RunAt="server" />
</form>
</body>
</html>
<script language="C#" runat="server">

void OnViewSecret (Object sender, EventArgs e)
{
response.Redirect("Secret/ProtectedPage.aspx");
}
</script>


Die response redirect is verantwoordelijk geloof ik....
als ik echter dit gebruik: Server.Transfer("Secret/ProtectedPage.aspx"); werkt het ook niet.....

heel vaag, want ik heb response.redirect ook gebruikt in andere apps, en daar werkt het wel....

Verwijderd

Topicstarter
hmm, hij werkt nu wel:
hoofdletter "R" van reponse.....

Response.Redirect("secret/protectedpage.aspx");

vaag....

Nou ja weer wat geleerd, dank voor de hulp!
Pagina: 1