當前位置:首頁 » 網頁前端 » webtruyenonline
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

webtruyenonline

發布時間: 2022-07-09 20:35:35

Ⅰ 在web.config裡面怎麼設置FORMS驗證及配置

把你不需要驗證的所有頁放在一個目錄下面,但是不用在那個目錄下面的WEB.CONFG中對FROMS驗證模式進行設置。只要在最上層的WEB.CONFIG中統一設置就可以了.比如下面的例子:
一、設置所有頁面都需要驗證
<system web>
<authentication mode="Forms">
<forms loginUrl = "Lonin.aspx" name = ".ASPXFORMSAUTH"/>
</authentication>
</system web>
二、再特別設置對某個目錄下的頁面不需要驗證(NoAuto為不需要驗證的頁面所在的目錄)
<location path="NoAuto">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>

一. 設置web.config相關選項
先啟用窗體身份驗證和默認登陸頁,如下。
<authentication mode="Forms">
<forms loginUrl="default.aspx"></forms>
</authentication>
設置網站可以匿名訪問,如下
<authorization>
<allow users="*" />
</authorization>
然後設置跟目錄下的admin目錄拒絕匿名登陸,如下。注意這個小節在System.Web小節下面。
<location path="admin">
<system.web>
<authorization>
<deny users="?"></deny>
</authorization>
</system.web>
</location>
把http請求和發送的編碼設置成GB2312,否則在取查詢字元串的時候會有問題,如下。
<globalization requestEncoding="gb2312" responseEncoding="gb2312" />
設置session超時時間為1分鍾,並啟用cookieless,如下。
<sessionState mode="InProc" cookieless="true" timeout="1" />
為了啟用頁面跟蹤,我們先啟用每一頁的trace,以便我們方便的調試,如下。
<trace enabled="true" requestLimit="1000" pageOutput="true" traceMode="SortByTime" localOnly="true" />
二. 設置Global.asax文件
處理Application_Start方法,實例化一個哈西表,然後保存在Cache里
protected void Application_Start(Object sender, EventArgs e)
{
Hashtable h=new Hashtable();
Context.Cache.Insert("online",h);
}
在Session_End方法里調用LogoutCache()方法,方法源碼如下
/// <summary>
/// 清除Cache里當前的用戶,主要在Global.asax的Session_End方法和用戶注銷的方法里調用 /// </summary>
public void LogoutCache()
{
Hashtable h=(Hashtable)Context.Cache["online"];
if(h!=null)
{
if(h[Session.SessionID]!=null)
h.Remove(Session.SessionID);
Context.Cache["online"]=h;
}
}
三. 設置相關的登陸和注銷代碼
登陸前調用PreventRepeatLogin()方法,這個方法可以防止用戶重復登陸,如果上次用戶登陸超時大於1分鍾,也就是關閉了所有admin目錄下的頁面達到60秒以上,就認為上次登陸的用戶超時,你就可以登陸了,如果不超過60秒,就會生成一個自定義異常。在Cache["online"]里保存了一個哈西表,哈西表的key是當前登陸用戶的SessionID,而Value是一個ArrayList,這個ArrayList有兩個元素,第一個是用戶登陸的名字第二個元素是用戶登陸的時間,然後在每個admin目錄下的頁刷新頁面的時候會更新當前登陸用戶的登陸時間,而只admin目錄下有一個頁打開著,即使不手工向伺服器發送請求,也會自動發送一個請求更新登陸時間,下面我在頁面基類里寫了一個函數來做到這一點,其實這會增加伺服器的負擔,但在一定情況下也是一個可行的辦法.
/// <summary>
/// 防止用戶重復登陸,在用戶將要身份驗證前使用
/// </summary>
/// <param name="name">要驗證的用戶名字</param>
private void PreventRepeatLogin(string name)
{
Hashtable h=(Hashtable)Cache["online"];
if(h!=null)
{
IDictionaryEnumerator e1=h.GetEnumerator();
bool flag=false;
while(e1.MoveNext())
{
if((string)((ArrayList)e1.Value)[0]==name)
{
flag=true;
break;
}
}
if(flag)
{
TimeSpan ts=System.DateTime.Now.Subtract(Convert.ToDateTime(((ArrayList)e1.Value)[1]));
if(ts.TotalSeconds<60)
throw new oa.cls.MyException("對不起,你輸入的賬戶正在被使用中,如果你是這個賬戶的真正主人,請在下次登陸時及時的更改你的密碼,因為你的密碼極有可能被盜竊了!");
else
h.Remove(e1.Key);
}
}
else
{
h=new Hashtable();
}
ArrayList al=new ArrayList();
al.Add(name);
al.Add(System.DateTime.Now);
h[Session.SessionID]=al;
if(Cache["online"]==null)
{
Context.Cache.Insert("online",h);
}else
Cache["Online"]=h;
}
用戶注銷的時候調用上面提到LogoutCache()方法
四. 設置admin目錄下的的所有頁面的基類
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Collections;
namespace oa.cls
{
public class MyBasePage : System.Web.UI.Page
{

/// <summary>
/// 獲取本頁是否在受保護目錄,我這里整個程序在OA的虛擬目錄下,受保護的目錄是admin目錄
/// </summary>
protected bool IsAdminDir
{
get
{
return Request.FilePath.IndexOf("/oa/admin")==0;
}
}

/// <summary>
/// 防止session超時,如果超時就注銷身份驗證並提示和轉向到網站默認頁
/// </summary>
private void PreventSessionTimeout()
{
if(!this.IsAdminDir) return;
if(Session["User_Name"]==null&&this.IsAdminDir)
{
System.Web.Security.FormsAuthentication.SignOut();
this.Alert("登陸超時",Request.ApplicationPath)
}
}
/// <summary>
/// 每次刷新本頁面的時候更新Cache里的登陸時間選項,在下面的OnInit方法里調用.
/// </summary>
private void UpdateCacheTime()
{
Hashtable h=(Hashtable)Cache["online"];
if(h!=null)
{
((ArrayList)h[Session.SessionID])[1]=DateTime.Now;
}
Cache["Online"]=h;
}
/// <summary>
/// 在跟蹤里輸出一個HashTable的所有元素,在下面的OnInit方法里調用.以便方便的觀察緩存數據
/// </summary>
/// <param name="myList"></param>
private void TraceValues( Hashtable myList)
{
IDictionaryEnumerator myEnumerator = myList.GetEnumerator();
int i=0;
while ( myEnumerator.MoveNext() )
{
Context.Trace.Write( "onlineSessionID"+i, myEnumerator.Key.ToString());
ArrayList al=(ArrayList)myEnumerator.Value;
Context.Trace.Write( "onlineName"+i, al[0].ToString());
Context.Trace.Write( "onlineTime"+i,al[1].ToString());
TimeSpan ts=System.DateTime.Now.Subtract(Convert.ToDateTime(al[1].ToString()));
Context.Trace.Write("當前的時間和此登陸時間間隔的秒數",ts.TotalSeconds.ToString());
i++;
}
}

/// <summary>
/// 彈出信息並返回到指定頁
/// </summary>
/// <param name="msg">彈出的消息</param>
/// <param name="url">指定轉向的頁面</param>
protected void Alert(string msg,string url)
{
string scriptString = "<script language=JavaScript>alert(""+msg+"");location.href=""+url+""</script>";
if(!this.IsStartupScriptRegistered("alert"))
this.RegisterStartupScript("alert", scriptString);
}
/// <summary>
/// 為了防止常時間不刷新頁面造成會話超時,這里寫一段腳本,每隔一分鍾向本頁發送一個請求以維持會話不被超時,這里用的是xmlhttp的無刷新請求
/// 這個方法也在下面的OnInit方法里調用
/// </summary>
protected void XmlReLoad()
{
System.Text.StringBuilder htmlstr=new System.Text.StringBuilder();
htmlstr.Append("<SCRIPT LANGUAGE="JavaScript">");
htmlstr.Append("function GetMessage(){");
htmlstr.Append(" var xh=new ActiveXObject("Microsoft.XMLHTTP");");
htmlstr.Append(" xh.open("get",window.location,false);");
htmlstr.Append(" xh.send();");
htmlstr.Append(" window.setTimeout("GetMessage()",60000);");
htmlstr.Append("}");
htmlstr.Append("window.onload=GetMessage();");
htmlstr.Append("</SCRIPT> ");
if(!this.IsStartupScriptRegistered("xmlreload"))
this.RegisterStartupScript("alert", htmlstr.ToString());
}

override protected void OnInit(EventArgs e)
{
base.OnInit(e);
this.PreventSessionTimeout();
this.UpdateCacheTime();
this.XmlReLoad();
if(this.Cache["online"]!=null)
{
this.TraceValues((System.Collections.Hashtable)Cache["online"]);

}
}
}

}
五. 寫一個自定義異常類
首先要在跟目錄下寫一個錯誤顯示頁面ShowErr.aspx,這個頁面根據傳遞過來的查詢字元串msg的值,在一個Label上顯示錯誤信息。
using System;

namespace oa.cls
{
/// <summary>
/// MyException 的摘要說明。
/// </summary>
public class MyException:ApplicationException
{

/// <summary>
/// 構造函數
/// </summary>
public MyException():base()
{
}
/// <summary>
/// 構造函數
/// </summary>
/// <param name="ErrMessage">異常消息</param>
public MyException(string Message):base(Message)
{
System.Web.HttpContext.Current.Response.Redirect("~/ShowErr.aspx?msg="+Message);
}
/// <summary>
/// 構造函數
/// </summary>
/// <param name="Message">異常消息</param>
/// <param name="InnerException">引起該異常的異常類</param>
public MyException(string Message,Exception InnerException):base(Message,InnerException)
{
}
}
}

Ⅱ Network和Web的區別是什麼

network Programming 和 web programming分別是什麼意思
To understand the difference between the two "programming"s, you should under the difference between "network" and "web" first.

In computer science, network is the mechanism of or media for information transmission, exchanging, or a group of computers and devices connected for such purposes. The objective of network programming is to fulfill these purposes. It is more related to signal, hardware, message, etc. For example, telephone switching system, wireless network communication, etc., are all the tasks of network programming.

Web programming, on the other hand, is on a more abstract level. Its mechanism is based on that of the network programming. In web programming, you never worry about how this device talks to that device, how should the talk be taken on so as to not lose information or to avoid interruption of trasmission and so on. The purpose of web programming is to accomplish such missions as doing tasks usually done only on your computer in an online way. For example, an online bank, web seminar, BaiDu Hi, they all are web programming.

In a word, what you see and use everyday on the Internet, and how and in what presentation form they are shown on your computer, are the targets of web programming, while how the content you see and use is transmitted on the network and to your computer is the task of network programming.

Ⅲ 「WEB」和「OL」分別是什麼意思

含義一,OL即Office Lady,可譯稱「白領女性」、「辦公室小姐」(低俗譯法)。常見的用語有:OL一族,OL時裝等。有人將OL領會成Office Love,這種人的心態可想而知,^_^。

含義二,OL即Ollie,意思是遇到障礙物時躍起,是滑板運動的一個基本動作。

含義三,OL好像還有OK的意思,春節晚會的相聲中曾提到過

含義四,OL即Online,通常指游戲網路版,就是說網路游戲(簡稱「網游」)。常見的說法有「希望OL」、「仙劍OL」等。 Web 是一種體系結構,通過它可以訪問遍布於Internet主機上的鏈接文檔。Web 是Internet提供的一種服務;是存儲在全世界Internet計算機中的數量巨大的文檔的集合;Web 上海量的信息是由彼此關聯的文檔組成,這些文檔稱為主頁(Home Page)或頁面(Page),它是一種超文本(Hypertext)信息,而使其連接在一起的是超鏈接(Hyperlink)。

最常用的應用有:Internet

Ⅳ tableau online怎麼用

在tableau online使用的過程中,需要創建和發布數據模型(數據源)並使其保持最新。

通過直接連接到數據發布到tableau online

使用直接連接時,無需發布數據提取或刷新任務。工作簿將始終顯示最新數據。

  • Google BigQuery 或 Amazon Redshift 數據。

  • Web 服務(例如,Amazon RDS、Microsoft sql Azure 或類似服務)上託管的 MySQL、PostgreSQL 和 SQL Server 數據。

發布和刷新數據提取

具體的內容的話,您可以去查看下教程,使用步驟還是挺清楚的。

Ⅳ wamp online什麼意思

WAMP是Windows下的Apache+Mysql+Perl/PHP/Python,一組常用來搭建動態網站或者伺服器的開源軟體,本身都是各自獨立的程序,但是因為常被放在一起使用,擁有了越來越高的兼容度,共同組成了一個強大的Web應用程序平台。

Ⅵ web 在線編輯office軟體有哪些

需求是原生的Office(比如Word)在線編輯嗎?
一般來說兩種途徑。一種是利用插件,比如PageOffice。好處是服務端有一整套的開發介面,劣勢是需要安裝插件,客戶端需要有Word等Office應用程序安裝,不同的客戶端環境不同可能造成後繼使用過程中的維護量。
還有一種是無插件的方式,Office 365就是典型的,不過如果是私有化部署,就不能用Office 365了。
還有一個是uzer.me,能提供無插件的原生Office編輯,提供JS SDK和REST API,各種編程語言都能對接。好處是無插件,劣勢是只支持webRTC的瀏覽器,比如火狐、谷歌,360極速等,反正IE是不支持的。

Ⅶ 有關日本webmoney的事,是否能加你qq詳談!

完全可以,姐,加我就是了,無有網路,你可以上我公司網站上看下。
無有網路,150台機子的工作室,專業的日服RMT游戲幣交易平台,擁有對日銷售平台以及對應的一整套營銷網路。
無有網路,運營包括永恆aion,戰記DNF,天堂2,81keys,ailaonline等近40款日服網路游戲,同時經營類似WM卡,CD-key的配套服務,絕對是你的最佳合作夥伴。
等你加我。
評最佳吧。

Ⅷ 三國殺OnlineWEB版 和 三國殺Online 有什麼區別

一個使用客戶端進行游戲。
一個直接在網頁進行游戲。
連接的都是1個伺服器
用網頁游戲 游戲速度比較慢 但不需要下載
用客戶端游戲 延遲小 但要下載

Ⅸ 什麼是 Visual Studio Online

Visual Studio Online,是微軟提供的項目數據在雲中的主頁。在微軟的雲基礎架構中運行,無需安裝或配置任何伺服器。設置一個包含一切的環境,從託管 Git 存儲庫和項目跟蹤工具到持續集成和 IDE,全都封裝在一個月度每用戶計劃中。並且支持更多開發工具(如 Visual Studio、Eclipse 或 Xcode)連接到雲中的項目。
軟體發布
微軟發布Visual Studio 2013與VS Online
微軟在Visual Studio線上發布會上正式揭開了Visual Studio 2013的面紗[1] ,同時還公布了Visual Studio Online。兩個版本都強調了微軟對於雲端的承諾,給開發人員提供了新的工具選擇,以便他們創建同時面向桌面和雲端環境的應用和服務。該套件還做出了許多重要補充和改進,包括在雲端調試Azure站點的能力。
對於開發團隊來說,Visual Studio 2013新的協作功能可以更輕松地耿總代碼的變動,而個人也能夠受益於"直接從編輯器中查看代碼細節"的選項。通過應用商店,人們可以比以往任何時候都要更輕松地製作和部署應用,而新的版本管理功能亦支持通過雲端自動部署和升級。
Visual Studio Online無疑也是一大亮點,它包含Azure託管的開發服務,如託管源代碼控制、工作項目追蹤、協作和構建服務——這些都是公開預覽的。
Visual Studio Online能夠與桌面端的Visual Studio IDE(集成開發環境)相配合,並且包括一個名為"Monaco"的輕量級編碼環境(基於Web),其服務是基於標準的HTML和JavaScript而構建的。轉化能力使得開發人員可以通過雲端、在任何地方實時編輯在線應用。
不超過5人的團隊可以免費試用Visual Studio Online,這為Windows平台的小型開發團隊消除了障礙。
微軟開發部門全球副總裁Soma Somasegar在其博客上公布了完整的細節,此外還談到了微軟與Xamarin之間的合作——這使得多平台的開發(包括iOS和Android)變得更為容易。
此外,微軟今天還發布了Visual Studio 2012 Update 4,除bug修復和增強外,改進了VS 2012與Visual Studio Online之間的兼容性。