討論區快速選單
知識庫快速選單
軟體開發過程中有哪些資安漏洞? 掌握Salesforce雲端管理秘訣 政府補助!學嵌入式+物聯網
[ 回上頁 ] [ 討論區發言規則 ]
ASP寫Windows事件權限
更改我的閱讀文章字型大小
作者 : senso(senso)
[ 貼文 6 | 人氣 1 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/12/22 下午 05:58:44
因為種種問題必須要在ASP網站(非ASP.NET網站)上寫Windows事件

我參考http://www.dotblogs.com.tw/boei/archive/2010/07/05/16384.aspx
使用.NET的EventLog類別寫了一個COM 的dll,複製到system32
註冊完後在.asp CreateObject再寫入log
但出現錯誤

錯誤類型:
System (0x80131509)
無法開啟來源 'testAspxEventLog' 的記錄。您可能沒有寫入權限。
/testEventLog.asp, line 10

我嘗試將我想得到的權限都加了everyone(雖然用users就好可是還是錯)完全控制但都還是沒有寫入權限
IIS網站目錄..略
登錄碼HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog
和裡面的Application、Application\testAspxEventLog、Security
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
C:\WINDOWS\system32\config 這目錄存log檔 *.evt
C:\WINDOWS\system32
C:\WINDOWS\Temp


dll code如下
Option Explicit On
imports System.Diagnostics

Public Class EventLog
    Public Sub CreateEventSource(ByVal szSourceName As String, ByVal szLogName As String)
     Diagnostics.EventLog.CreateEventSource(szSourceName, szLogName)
    End Sub

     Public Sub EventLogWrite(ByVal szLogName As String, ByVal szSourceName As String, ByVal szMessage As String, ByVal iEventLogEntryType As Integer)
     'System.Diagnostics.EventLogPermissionAccess.Administer
     Dim a As New System.Diagnostics.EventLogPermission(System.Diagnostics.EventLogPermissionAccess.Administer, "a")
     Dim EntryType As System.Diagnostics.EventLogEntryType = iEventLogEntryType
     Dim log As New System.Diagnostics.EventLog(szLogName)
     log.Source = szSourceName
     log.WriteEntry(szMessage, EntryType)
    End Sub
End Class

testEventLog.asp code如下
<%
szSourceName = "testAspxEventLog"
szLogName = "Application"
szMessage = "測試ASP事件日誌" & now()

Set
myLog = Server.CreateObject("MyEventLog.EventLog")
'myLog.DeleteEventSource szSourceName
myLog.CreateEventSource szSourceName,szLogName
'b = myLog.SourceExists(szSourceName)
myLog.EventLogWrite szLogName,szSourceName,szMessage,4
response.write szMessage
%>

作者 : senso(senso)
[ 貼文 6 | 人氣 1 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/3/23 下午 06:50:06
已解決,參考
http://support.microsoft.com/kb/301309/zh-tw
http://support.microsoft.com/kb/251264/zh-tw

將下面登錄機碼設為 0 而不要設為 1 ,然後重新啟動電腦讓變更生效。
HKLM\System\CurrentControlSet\Services\EventLog\Application
名稱: RestrictGuestAccess
類型: REG_DWORD 注意 :這樣做會讓所有的 Guest 帳戶都能寫入應用程式事件日誌。
從 Guest 群組移除匿名使用者。
針對此特定網頁使用不同的匿名使用者。
關閉頁面或應用程式的匿名存取。
作者 : senso(senso)
[ 貼文 6 | 人氣 1 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/5/16 上午 10:51:30
在XP上跑改RestrictGuestAccess 沒問題
可是丟到Windows Server 2003又沒有寫入權限了..吐血

Windows Server 2003 中的安全性變更對開發方面的影響
http://60.251.1.52/taiwan/msdn/library/2003/Jul-2003/secure06122003.htm
事件日誌上更嚴密的 ACL
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Eventlog\Application\CustomSD
(D;;0xf0007;;;BG) 拒絕所有內建來賓 (BG) 存取。
↑D改A
結果RestrictGuestAccess 好像變的無關緊要,不管是0還是1都能寫...
 板主 : Jammy
 > ASP - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - ASP - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
ASP
1 tt's 2830 
2 ricky 1060 
3 玩家 890 
4 深小藍 880 
5 小台 660 
6 Snaking 630 
7 老骨頭 540 
8 AndyJ 530 
9 艾里克斯 510 
10 NanSun 470 
ASP
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.0625