Tag: cookies

如何在CookieContainer中获取cookie信息? (所有这些,不是针对特定领域)

请参阅以下代码: CookieContainer cookieJar = new CookieContainer(); HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(“http://www.google.com”); request.CookieContainer = cookieJar; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); int cookieCount = cookieJar.Count; 如何在cookieJar获取cookie信息? (所有这些,不仅仅针对特定领域。) 我怎样才能添加或删除cookie呢?

用于ASP.NET中的MachineKey

机器密钥在asp.net中有哪些不同的用途? 我认为以下是正确的,但认为可能还有更多。 多个应用程序可以使用相同的cookie 多个服务器可以使用相同的视图状态

登录网站并使用cookie获取其他页面的来源

我正在尝试登录TV Rage网站并获取My Shows页面的源代码。 我已成功登录(我已经检查了我的post请求的响应)但是当我尝试在“我的显示”页面上执行获取请求时,我被重定向到登录页面。 这是我用来登录的代码: private string LoginToTvRage() { string loginUrl = “http://www.tvrage.com/login.php”; string formParams = string.Format(“login_name={0}&login_pass={1}”, “xxx”, “xxxx”); string cookieHeader; WebRequest req = WebRequest.Create(loginUrl); req.ContentType = “application/x-www-form-urlencoded”; req.Method = “POST”; byte[] bytes = Encoding.ASCII.GetBytes(formParams); req.ContentLength = bytes.Length; using (Stream os = req.GetRequestStream()) { os.Write(bytes, 0, bytes.Length); } WebResponse resp = req.GetResponse(); cookieHeader = resp.Headers[“Set-cookie”]; […]

在特殊类型的Asp.Net Mvc应用程序中保持用户状态的最佳实践

我将尝试解释我的情况和我想做的事情。 没有任何困难和罕见的情况,但我在互联网上找不到任何相关问题或文章。 我在ASP.NET MVC 5上创建了一个Web应用程序。 用户不会直接进入我的应用程序。 用户将输入到CentralInformationSystem.com 。 然后他们必须以支持的方式登录本网站。 登录后,他们将看到一个应用程序列表。 将有允许用于签名用户的应用程序。 其中一个应用程序将是我在Asp.Net MVC开发的应用程序。 而重点是我们的应用程序不会在其他选项卡或当前选项卡中打开等等。 我们的应用程序将在当前选项卡内的大型iframe中打开。 其他要点是我们的应用程序和CentralInformationSystem.com属于其他域。 另一个问题当然是,我现在可以用哪个用户登录 ? 答案是, CentralInformationSystem.com将带有查询字符串的加密数据发送到我们的网站。 例如,URL将如下所示: MyMvcApplication /首页/指数?令牌= jkndid758adsai == qwdbqwiudhqwadoqidwqq = wqdiqw 还要记住,他们总是会发送不同的令牌。 之后,我将解密令牌并找到它属于哪个用户。 还要记住,一个令牌只能使用一次。 1.我的申请是什么类型的申请? 用户将进入非常大的forms。 它实际上可能需要3-4个小时。 所以,我尝试过某种类型的向导逻辑。 输入数据的某些部分后,我会将它们插入数据库,从数据库中获取标识符并将其存储在某个地方并将用户带到下一个级别,依此类推。 2.我想要实现的目标? 我想创建这样的逻辑,一些标识符变量值必须存储在永远不会过期的地方,直到用户关闭浏览器或退出。 我不想将会话超时增加到5-6小时。 3.如果用户在多个选项卡中打开我的应用程序怎么办? 除了2我还有一个问题,用户可以在iframe中打开我的网站多个标签。 我知道,在Asp.net我们可以根据每个选项卡Asp.net会话。 但是,我不想在会话中存储数据,因为用户可以在20分钟或4小时后停止填写表单。 此外,我不能使用cookie,因为所有标签的cookie都是相同的。 我的另一个选择是,为所有视图注入带有加密值的隐藏输入。 但是,我找不到如何自动将这些数据添加到每个视图。 此外,它似乎并不是我最有效的方式。 另一个逻辑是阻止用户使用不同的标记在多个选项卡中打开相同的应用程序。 但是,不要如何实现这一目标。 额外: 我几乎阅读了所有文章和问题/答案。 我知道如何让它发挥作用。 但是,我想要最好的方法。 我的方法都没有效率。

点击退出时删除cookie

我正在使用下面的代码创建cookie,如何读取另一个页面中的txtusername值以及如何在单击注销时删除cookie(注销代码)。 我是编程新手请帮助。 string cookiestr; HttpCookie ck; tkt = new FormsAuthenticationTicket(1, txtUserName.Value, DateTime.Now, DateTime.Now.AddMinutes(30), chkPersistCookie.Checked, “your custom data”); cookiestr = FormsAuthentication.Encrypt(tkt); ck = new HttpCookie(FormsAuthentication.FormsCookieName, cookiestr); if (chkPersistCookie.Checked) ck.Expires = tkt.Expiration; ck.Path = FormsAuthentication.FormsCookiePath; Response.Cookies.Add(ck);

使用BrowserSession和HtmlAgilityPack通过.NET登录Facebook

我正在尝试使用Rohit Agarwal的BrowserSession课程和HtmlAgilityPack登录并随后浏览Facebook。 我之前通过编写自己的HttpWebRequest来管理同样的事情。 但是,它只适用于我从浏览器手动获取cookie并在每次进行新的“会话”时向请求中插入新的cookie字符串。 现在我正在尝试使用BrowserSession来获得更智能的导航。 这是当前的代码: BrowserSession b = new BrowserSession(); b.Get(@”http://www.facebook.com/login.php”); b.FormElements[“email”] = “some@email.com”; b.FormElements[“pass”] = “xxxxxxxx”; b.FormElements[“lsd”] = “qDhIH”; b.FormElements[“trynum”] = “1”; b.FormElements[“persistent_inputcheckbox”] = “1”; var response = b.Post(@”https://login.facebook.com/login.php?login_attempt=1″); 以上工作正常。 当我尝试再次使用此BrowserSession来获取另一个页面时出现问题。 我这样做是因为BrowserSession保存了来自最后一个响应的cookie并将它们插入到下一个请求中,因此我不必再手动从我的浏览器中取出的cookiedata。 但是,当我尝试做这样的事情时: var profilePage = b.Get(@”https://m.facebook.com/profile.php?id=1111111111″); 我得到的文件是空的。 对于我做错了什么,我会很感激。

C#使用Cookies的WebRequest

我有一个winforms应用程序,我一直在努力对消费者帐户进行多项测试。 测试需要一次登录才能执行。 string paramaters = “authmethod=on&chkRememberMe=on&login-form-type=pwd&password=” + pw.Text + “&userid=” + uid.Text + “&username=” + uid.Text; string strResponse; HttpWebRequest requestLogin = (HttpWebRequest)WebRequest.Create(“https://www.url.com/login.form”); requestLogin.Method = “POST”; requestLogin.CookieContainer = cookieJar; requestLogin.ContentType = “application/x-www-form-urlencoded”; requestLogin.ContentLength = paramaters.Length; StreamWriter stOut = new StreamWriter(requestLogin.GetRequestStream(), System.Text.Encoding.ASCII); stOut.Write(paramaters); stOut.Close(); StreamReader stIn = new StreamReader(requestLogin.GetResponse().GetResponseStream()); strResponse = stIn.ReadToEnd(); stIn.Close(); 这个脚本适用于登录就好了,问题是当我需要实际运行测试时我需要将所有结果都返回到字符串中(HTML结果)。 private string runTestRequest(Uri […]

C#加密到PHP解密

我正在尝试在C#中加密一些(cookie)数据,然后在PHP中解密它。 我选择使用Rijndael加密。 我几乎让它工作,除了只有部分文本被解密! 我从这个例子开始工作: 在C#中解密PHP加密字符串 这是我正在加密的文本(JSON)(删除了敏感信息): {“DisplayName”:”xxx”, “Username”: “yyy”, “EmailAddress”:”zzz”} 所以我登录到C#app,它从存储的Key和IV创建/编码cookie,然后重定向到应该解密/读取cookie的PHP应用程序。 当我解密cookie时,它出现如下: {“DisplayName”:”xxx”,”F A ; HP=D 4 z ť k #E R j 5 \ t. t D ” 更新 :我已经进一步了,这就是结果 string(96) “{“DisplayName”:”xxx”,”Username”:”yyy”,”EmailAddress” )ق – J k/VV-v 9 B`7^” 正如你所看到的,它开始解密它,但后来搞砸了…… 当解密字符串时它出来是正确的(使用填充,我有一个删除填充的函数),但是如果我将测试字符串改为一个字符,我会再次得到垃圾: B nHL Ek ¿? UΣlO OЏ M NO/ fM Lƾ CC Y>F ~ qd […]

读取cookie值:使用URL Rewrite Provider模块 – 无法在System.Web.Configuration.MachineKeySection.EncryptOrDecryptDatavalidation

我要求使用URL Rewrite模块将USERNAME附加到服务器端的URL。 为什么? :我有网站site1 ,当USER登录到site1时,他会看到一个指向site2的链接。 ,此链接是URL或报告。 (的Tableau)。 已使用site1中的FormAuthentication创建已validation的票证。 当USER单击该链接时,应将经过身份validation的用户名传递给site2。 我可以从客户端附加用户名,但由于安全问题,我必须在执行之前将用户名附加到服务器端的URL。 所以我决定使用URL重写提供程序,它通过解密cookie值来获取用户名 ,如下所示 namespace PlatformAnalysisUrlProvider.PlatformAnalysisProvider { class AnalysisRewriteProvider: IRewriteProvider, IProviderDescriptor { public void Initialize(IDictionary settings, IRewriteContext rewriteContext) { } public string Rewrite(string value) { string[] cookievalues = value.Spli(‘=’); FormAuthentication ticket = FormAuthentication.Decrypt(cookievalues[1]); //Decrypt throws error as shown below } } } Cookie值 cookievalues [0] = has […]