IIS 8.5 網站登入後,只顯示一個例外錯誤
System.ComponentModel.Win32Exception
找不到網路路徑
測了好久也把網站移到另一台主機,相同的檔案,但這台主機卻一直回報這個錯誤。
後來被告知,這台主機更換過主機名稱及Administrator的名稱。
查看使用的應用程式集區,嗯........原來識別是使用Administrator。
改回ApplicationPoolIdentity後,重啟一下IIS,終於可以登入了。
2017年11月8日 星期三
2017年9月24日 星期日
OFFICE 2016 KB4011039 更新BUG
2017年9月18日 星期一
免費的白箱檢測工具puma scan
上網找了免費的白箱檢測工具,找到了puma scan
因為支援OWASP TOP 10的檢測,所以這是一個符合客戶需求又能與Visual studio結合的工具(白話說...交差了事矣....)
更重要的是這不用錢....檢測工具都貴森森的,尤其是源碼檢測工具。
https://marketplace.visualstudio.com/items?itemName=PumaSecurity.PumaScan#overview
puma scan針對Roslyn且只適用在VS2015以上的版本,安裝方式可以參考
https://www.pumascan.com/installation.html#installation
VSIX>>在Online > Visual Studio Galley, search for “Puma Scan”
NuGet>>在Tools > NuGet Package Manager > Package Manager Console輸入
如果只裝了VSIX,則要針對單一專案進行分析時,就在專案按右鍵>>Analyze>>Run Code Analysis。分析後的結果會顯示在Output window。Error List Window 也會條列出。
如果想要匯出好看一點的報告,可以下載安裝 Error List Manager 2 (ELM2)
方便在Error List Window匯出HTML、EXCEL、PDF的報告,雖然陽春且無法選擇匯出欄位,但總比直將將output複製貼上存成文字檔要來得好。
分析的Puma.Security.Rules 可以自行勾選, 檢測的原則可以參考
https://www.pumascan.com/rules.html
初步研究到此,接下來困難的是要看懂檢測的結果以及條列高中低的等級。
唉哎.....好多的warning............................
因為支援OWASP TOP 10的檢測,所以這是一個符合客戶需求又能與Visual studio結合的工具(白話說...交差了事矣....)
更重要的是這不用錢....檢測工具都貴森森的,尤其是源碼檢測工具。
https://marketplace.visualstudio.com/items?itemName=PumaSecurity.PumaScan#overview
Diagnostic extension for
the .NET Compiler Platform ("Roslyn") that performs static code analysis
for vulnerabilities identified in the OWASP Top 10, SANS/CWE Top 25,
and other common insecure coding patterns.
Current analysis categories:
- Insecure Configuration
- SQL Injection
- LDAP Injection
- Path Tampering
- Weak Password Configuration
- Unvalidated Redirects
- Cross-Site Scripting
- Cross-Site Request Forgery
- Weak Input Validation
- Insecure Cryptography
- Deserialization Vulnerabilities
puma scan針對Roslyn且只適用在VS2015以上的版本,安裝方式可以參考
https://www.pumascan.com/installation.html#installation
VSIX>>在Online > Visual Studio Galley, search for “Puma Scan”
NuGet>>在Tools > NuGet Package Manager > Package Manager Console輸入
Get-Project -All | Install-Package Puma.Security.Rules
如果只裝了VSIX,則要針對單一專案進行分析時,就在專案按右鍵>>Analyze>>Run Code Analysis。分析後的結果會顯示在Output window。Error List Window 也會條列出。
如果想要匯出好看一點的報告,可以下載安裝 Error List Manager 2 (ELM2)
方便在Error List Window匯出HTML、EXCEL、PDF的報告,雖然陽春且無法選擇匯出欄位,但總比直將將output複製貼上存成文字檔要來得好。
分析的Puma.Security.Rules 可以自行勾選, 檢測的原則可以參考
https://www.pumascan.com/rules.html
初步研究到此,接下來困難的是要看懂檢測的結果以及條列高中低的等級。
唉哎.....好多的warning............................
2016年11月8日 星期二
超過 249 個非叢集索引或資料行統計資料
SQL Server 2000,一個資料表上要建立索引時,出現以下訊息,
不得在一個資料表上建立超過 249 個非叢集索引或資料行統計資料
Cannot create more than 249 nonclustered indices or column statistics on one table.
先查看索引數,當然不可能有249個,所以查詢了統計資訊。
select 'drop statistics '+object_name(a.id)+'.'+a.name
from sysindexes a inner join .sysindexkeys b
on a.id = b.id and a.indid = b.indid inner join syscolumns c
on b.id = c.id and b.colid = c.colid
where indexproperty(a.id, a.name, 'IsStatistics') = 1
and object_name(a.id) = 'your_table'
先確認是否已有249個統計值,如果有,就先刪除不要的,再建一次index應該就行了。
不得在一個資料表上建立超過 249 個非叢集索引或資料行統計資料
Cannot create more than 249 nonclustered indices or column statistics on one table.
先查看索引數,當然不可能有249個,所以查詢了統計資訊。
select 'drop statistics '+object_name(a.id)+'.'+a.name
from sysindexes a inner join .sysindexkeys b
on a.id = b.id and a.indid = b.indid inner join syscolumns c
on b.id = c.id and b.colid = c.colid
where indexproperty(a.id, a.name, 'IsStatistics') = 1
and object_name(a.id) = 'your_table'
先確認是否已有249個統計值,如果有,就先刪除不要的,再建一次index應該就行了。
2016年10月20日 星期四
JSON回傳內容含backslash
同事提供一段使用C# MVC 寫的JSON回傳
return Json(JsonConvert.SerializeObject(new { status = "SUCCESS", message = "資料傳送成功" }), "text/html", JsonRequestBehavior.AllowGet);
結果回傳
"{\"status\":\"SUCCESS\",\"message\":\"資料傳送成功\"}"
他問說可否不要反鈄線 及前後的雙引號,要像這樣
{"status":"SUCCESS","message":"資料傳送成功"}
查了一下,原來是JsonConvert.SerializeObject造成的,改用物件傳入就可以解決了。
改成以下這樣,就OK了
var data = new { status = "SUCCESS", message = "資料傳送成功" };
return Json(data, "application/json", JsonRequestBehavior.AllowGet);
記錄一下....
return Json(JsonConvert.SerializeObject(new { status = "SUCCESS", message = "資料傳送成功" }), "text/html", JsonRequestBehavior.AllowGet);
結果回傳
"{\"status\":\"SUCCESS\",\"message\":\"資料傳送成功\"}"
他問說可否不要反鈄線 及前後的雙引號,要像這樣
{"status":"SUCCESS","message":"資料傳送成功"}
查了一下,原來是JsonConvert.SerializeObject造成的,改用物件傳入就可以解決了。
改成以下這樣,就OK了
var data = new { status = "SUCCESS", message = "資料傳送成功" };
return Json(data, "application/json", JsonRequestBehavior.AllowGet);
記錄一下....
2016年9月23日 星期五
IE IFRAME 遺失SESSION問題
在一個ASP開發的網站,以IFRAME方式顯示另一個網站的MVC WEBSITE功能。
結果在部份機器的IE瀏覽器上,會有SESSION遺失的問題。但在FIREFOX或GOOGLE CHROME上則不會有問題。
找了很久,突然想到在之前舊的WEB FORM網站,在頁面Page_Load事件會加入一段程式碼
HttpContext.Current.Response.AddHeader("p3p", "CP=""IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT""")
於是在新網站,Global.asax.cs檔加入以下事件及程式碼
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("p3p", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");
}
解決問題了.
結果在部份機器的IE瀏覽器上,會有SESSION遺失的問題。但在FIREFOX或GOOGLE CHROME上則不會有問題。
找了很久,突然想到在之前舊的WEB FORM網站,在頁面Page_Load事件會加入一段程式碼
HttpContext.Current.Response.AddHeader("p3p", "CP=""IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT""")
於是在新網站,Global.asax.cs檔加入以下事件及程式碼
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("p3p", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");
}
解決問題了.
2016年8月22日 星期一
訂閱:
文章 (Atom)
VS CODE離線安裝套件方式-續
去年 vscode離線安裝 powershell nupkg 今年在一台無外網的 windwos 2025上安裝時遇到了powershell版本一直讀取到了5.1的版本,鬼打牆了一下午,在VM還原重測測了好幾回,應該是可行了。 將下載到的免安裝powershell 解壓縮到...
-
一個老舊的aspx web form專案,調了一些功能建置成功,但進行部署時顯示以下錯誤。 在應用程式層級之外使用註冊為 allowDefinition='MachineToApplication' 的區段發生錯誤。錯誤的原因可能是虛擬目錄尚未在 IIS 中設定為...
-
freeFTPd是套免費的SFTP SERVER支援22 port SFTP及21port FTP,一般找到免費的都不支援SFTP只有技援FTPS。 之前一直有個困擾在幾台主機安裝後,有幾台重開機後,SFTP SERVER必須手動去啟動,一直以來老是搞不懂為什麼,今天看到一篇文...
-
Row.Cells[2].Text == "abc" ? "ok" : "not ok" ; 或加入Microsoft. VisualBasic 參考使用 vb namespace using Microsoft...