2018年4月16日 星期一

[MS-SQL]資料庫組態管理員 發生[0x800706be]錯誤

步驟一、開始 > Microsoft SQL Server 2008 R2 > [SQL Server 組態管理員]

步驟二、下載Microsoft SQL Server 2008 SP3 > 更新

步驟三、檢查[事件檢視器]錯誤



步驟四、 [SQL Server 組態管理員] > SQL Server > 右鍵 > 內容 > 內建帳戶 > 本機服務 > 啟動











步驟五、重新開機後即可正常運作





2018年4月12日 星期四

[Windows]Outlook轉o365匯入pst檔案

步驟一、編輯登入檔案 2013、2016 範例,執行已下登入檔案
office2013_outlook.reg
-----------------------------------------------------
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\AutoDiscover]
"ExcludeScpLookup"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\AutoDiscover\RedirectServers]
"autodiscover-s.outlook.com"=hex(0):
"autodiscover.hotmail.com"=hex(0):
-----------------------------------------------------
office2016_outlook.reg
-----------------------------------------------------
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\AutoDiscover]
"ExcludeScpLookup"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\AutoDiscover\RedirectServers]
"autodiscover-s.outlook.com"=hex(0):
"autodiscover.hotmail.com"=hex(0):
-----------------------------------------------------

步驟二、匯出舊Outlook檔案(backup.pst)

步驟三、控制台 > 郵件 > 顯示設定檔














步驟四、新增帳號o365並驗證登入



















步驟五、設定[選擇提示使用的設定檔]



步驟六、重新登入outlook 以新增的帳號登入 > 選項 > 進階 > 匯出 > 選擇[從其他程式或檔案匯入] > 選擇檔案並匯入 > 完成

2018年4月11日 星期三

[C#]HttpWebRequest爬蟲


步驟一、Default.aspx頁面中建立lbtnSend按鈕
步驟二、建立AccountInfo.cs 檔案與SetHttpWebRequest.cs 檔案
步驟三、設定要抓取的網站網址
----------------------------------------------------------------------------------------------------------------
Default.aspx 預設目錄
----------------------------------------------------------------------------------------------------------------
        protected void lbtnSend_Click(object sender, EventArgs e)
        {
            AccountInfo accountInfo = new AccountInfo("123", "456");

            string url, postData, html;
            url = "http://rrfp.swcb.gov.tw/";
            postData = string.Format("hidLoginType=A&hidRadio=SSO&LoginType=SSO&LOGIN_TYPE=A&ID_NO=&USER_ID={0}&USER_PWD={1}", accountInfo.Account, accountInfo.Password);
            html = SetHttpWebRequest.SetLoginHttpWebRequest("POST", url, postData, accountInfo, 0);

            url = "http://rrfp.swcb.gov.tw/Home/Index";
            html = SetHttpWebRequest.SetLoginHttpWebRequest("GET", url, null, accountInfo, 0);

            url = "http://rrfp.swcb.gov.tw/DES_Analys/Home_Analys_Index";
            html = SetHttpWebRequest.SetLoginHttpWebRequest("GET", url, null, accountInfo, 0);
        }

----------------------------------------------------------------------------------------------------------------
AccountInfo.cs 帳號型態
----------------------------------------------------------------------------------------------------------------
public class AccountInfo
{
    /// <summary>
    /// 帳號
    /// </summary>
    public string Account { get; set; }
    /// <summary>
    /// 密碼
    /// </summary>
    public string Password { get; set; }
    /// <summary>
    /// 跳轉網址
    /// </summary>
    public string RedirectUrl { get; set; }
    /// <summary>
    /// 登入狀態
    /// </summary>
    public bool LoginedStatus { get; set; }
    /// <summary>
    /// 登入金鑰
    /// </summary>
    public string Uid { get; set; }
    /// <summary>
    /// 存放來源Cookie
    /// </summary>
    public CookieCollection CookieCollection { get; set; }
    /// <summary>
    /// 登入失敗
    /// </summary>
    public bool IsFailure { get; set; }
    /// <summary>
    /// 連續服務器錯誤計數
    /// </summary>
    public int WebExCount { get; set; }

    /// <summary>
    /// 建構子 設定帳密
    /// </summary>
    /// <param name="account">帳號</param>
    /// <param name="password">密碼</param>
    public AccountInfo(string account, string password)
    {
        Account = account;
        Password = password;
        CookieCollection = new CookieCollection();
    }
}


----------------------------------------------------------------------------------------------------------------
SetHttpWebRequest.cs POST/GET方法
----------------------------------------------------------------------------------------------------------------
 public class SetHttpWebRequest
    {
        //設定登入要求器
        public static string SetLoginHttpWebRequest(string method, string url, string postData, AccountInfo accountInfo, int proxyIndex)
        {
            //協定
            HttpWebRequest request;
            request = WebRequest.CreateHttp(url);
            request.Method = method;
            request.UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36";
            request.Accept = "*/*";
            request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
            request.AllowAutoRedirect = false;
            request.KeepAlive = true;
            request.Referer = "http://rrfp.swcb.gov.tw/";
            request.Timeout = 10000;
            request.ReadWriteTimeout = 10000;
            request.CookieContainer = new CookieContainer();
            request.CookieContainer.Add(accountInfo.CookieCollection);

            //傳送資料
            if (postData != null)
            {
                byte[] postByte = Encoding.UTF8.GetBytes(postData);
                request.ContentLength = postByte.Length;
                Stream stream = request.GetRequestStream();
                stream.Write(postByte, 0, postByte.Length);
                stream.Close();
            }

            //接收回應
            HttpWebResponse response = request.GetResponse() as HttpWebResponse;
            string html = string.Empty;

            if (response != null)
            {
                StreamReader reader;

                if (string.Equals("gzip", response.ContentEncoding, StringComparison.CurrentCultureIgnoreCase))
                {
                    reader = new StreamReader(new GZipStream(response.GetResponseStream(), CompressionMode.Decompress), Encoding.UTF8);
                }
                else
                {
                    reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
                }

                html = reader.ReadToEnd();
                reader.Close();

                foreach (Cookie cookie in response.Cookies)
                {
                    accountInfo.CookieCollection.Add(cookie);
                }
            }

            response.Close();
            request.Abort();

            return html;
        }
    }
----------------------------------------------------------------------------------------------------------------

2018年4月10日 星期二

[Katalon]自動化測試

步驟一、開啟Google瀏覽器 > 開啟Chrome線上應用程式商店 > 查詢Katalon Recorder > 掛載Katalon Recorder (Selenium IDE for Chrome)

步驟二、開啟掛在套件,點擊Record即可開始錄製步驟





































備註:javascript生成動作或無指定ID物件可能會有錯誤或無反應的情況

2018年4月8日 星期日

[Google]Google Hacking 淺談

使用Google Search與指令進行深度網頁查詢

步驟一、了解基本語法 [Basic Search Command]

  • intitle
  • inurl
  • intext
  • site
  • filetype
  • "...."
  • +
  • -
  • |
  • AND
  • OR
步驟二、指令應用 [經常使用查詢Google會記錄,請小心使用]
  1. AND 與 OR 語法需大寫
  2. "...." 內可使用正則語句,如"t?name"則會找到t-time 或 it time等網頁內容
  3. +號與-號則是進行條件篩選,過濾網頁包含字串
  4. filetype為指定收尋檔案類型,如xls、pdf、txt等檔案
步驟三、參考網路查詢資源
  • Google Hacking Database
  • Google Hacking Dork List





2018年4月3日 星期二

[Google]G-Mail申請機械登入碼

步驟一、[Google我的帳戶] > [登入] >[登入和安全性]

 步驟二、[應用程式與密碼] > 設定[郵件-其他]

 步驟三、[應用程式機器碼命名] > [產生機器碼]



[MS-SQL]卸載與掛載資料庫

步驟一、[資料庫] > [右鍵] > [工作] > [卸離]



步驟二、[資料夾] > [右鍵] > [內容] > [安全性] > [加入權限]


步驟三、[資料庫] > [附加] > [選擇檔案]


















2018年4月2日 星期一

[Windows]FTP設定

步驟一、[控制台] > [程式和功能] > [開啟或關閉Windows功能] > [IIS] > [FTP服務] 勾選並安裝



步驟二、[本機] > [右鍵] > [管理] > [系統工具] > [本機使用者和群組] > [新增使用者]


步驟三、開啟[IIS] > [站台] > [右鍵] > [新增FTP站台]


步驟四、此範例吳SSL檔案,以[沒有SSL]選項作為範例 > 驗證勾選[基本、匿名] > [指定的使用者] > 設置上步驟中[test]帳號 > [讀取寫入權限] > [完成]



步驟五、 登入[FTP] > [輸入密碼] > [登入成功]











步驟六、進入[防火牆] > [允許的應用程式] > [FTP伺服器] 勾選開放狀態

[MS-SQL]建立MS-SQL的Linked Server

步驟一、點選 [伺服器物件] > [連結的伺服器] > [右鍵] > [新增連結的伺服器]

步驟二、選擇 [其他資料來源] > 提供者設定[Microsoft OLE DB Provider for SQL Server] > [設定資料來源]



步驟三、設置完 [一般] > [安全性] >[使用此安全性內容建立] > [SQL連線帳號密碼]



步驟四、至 [連結的伺服器] > [LOG] > [測試連線] > [成功]


步驟五、連線成功後即可使用Linked Server


[JQuary][C#]使用jQuary實作form action post參數

網頁轉址一般分為 1.直接導向Url 2.夾帶Get參數在Url後面 如果要使用Post的方式要如何跳轉呢? Ans:使用Form Action 設定Method='Post' 範例前端程式 -----------------------------...