亂馬客

Hello! 我是 RM

  • 首頁
所有文章 友鏈 關於我

亂馬客

Hello! 我是 RM

  • 首頁

The frame attempting navigation is sandboxed, and is therefore disallowed from navigating its ancestors.

2020-07-21

前言

最近遇到一個 iframe 的問題,在一個頁面(index.htm)中加入 iframe 後,該 iframe 的 Page (parentFrame.htm)中又有 iframe (childFrameA.htm)。
而在 childFrameA.htm 中有一個 Link 要將 Parent 頁面取代掉,會出現以下的錯誤,

Unsafe JavaScript attempt to initiate navigation for frame with URL ‘http://10.211.55.3/iframesandbox/parentFrame.htm‘ from frame with URL ‘http://10.211.55.3/iframesandbox/childFrameA.htm‘. The frame attempting navigation is sandboxed, and is therefore disallowed from navigating its ancestors.

它的意思是說 childFrameA.htm 想要瀏覽到那個 parentFrame.htm 的 Frame 去,但因為這些 Frame 有設定 Sandbox ,所以不允許瀏覽到祖先,也就是不允許讓你將Link 的網頁,取代掉 Parent(parentFrame.htm) 的 Frame。 那怎麼辦呢?

研究與解法

即然是 sandbox ,那就先來了解一下,iframe 的 sandbox 到底是怎麼一回事 …

iframe sandbox

iframe sandbox 屬性會啟用針對 iframe 內容額外的限制,限制如下,

  • treat the content as being from a unique origin
  • block form submission
  • block script execution
  • disable APIs
  • prevent links from targeting other browsing contexts
  • prevent content from using plugins (through , , , or other)
  • prevent the content to navigate its top-level browsing context
  • block automatically triggered features (such as automatically playing a video or automatically focusing a form control)
  • 所以當 iframe 加入 sanbox 屬性後,就會去針對內容進行一些限制,例如,

    • 不允許 javascript 執行,javascript src=”…” 也不允許
    • 不允許存取 cookies 及任何的 storage
    • 不允許建立新視窗,例如 window.open 或是按下 link target=”_blank”
    • 不允許 Form 的 Submit
    • 不允許載入 Plugins
    • 不允許瀏覽到 top window ,例如 window.top.location 或是按下 link target=”_top”
    • 不允許自動觸發功能,例如 autofocused form elements, autoplaying videos …
    • iframe 上的 seamless 屬性會被忽略
    • iframe 中無法獲得 mouse 移動的軌跡

    所以使用了 sandbox 後,會再依網頁需要的權限來設定允許的行為

    案例

    為了解說方便,我們使用 5 個 html 檔來測試, 首頁(index.htm) 放一個 iframe src 為 parentFrame.htm , parentFrame.htm 放一個 iframe src 為 childFrameA.htm ,childframeA.htm 放一個 iframe src 為 childFrameAchildFrameA-ChildFrame.htm 中放了 5 個 link ,分別設定 target 為 _self, _parent, _top, _blank 及透過 javascript

    index.htm

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <html>
    <head>
    <title>Sandboxed Iframes</title>
    <style>
    #parentFrame {
    width:500px;
    height: 473px;
    margin: auto;
    border: 3px solid #73AD21;
    }
    </style>
    </head>
    <body>
    <iframe id="parentFrame" src="parentFrame.htm" sandbox></iframe>
    </body>
    </html>

    parentFrame.htm

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <html>
    <head>
    <style>
    #childFrameA {
    width:450px;
    height: 400px;
    margin: auto;
    border: 2px solid #772277;
    }
    </style>
    <script>console.log(window.location.href);</script>
    </head>
    <body>
    <h2>This is Parent Frame </h2>
    <div>
    <iframe id="childFrameA" src="childFrameA.htm" frameborder="1" ></iframe>
    </div>
    </body>
    </html>

    childFrameA.htm

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <html>
    <head>
    <title>Sandboxed Iframes</title>
    <style>
    #childFrameA-ChildFrame {
    width:400px;
    height: 305px;
    margin: auto;
    border: 2px solid #224477;
    }
    </style>
    <script>console.log(window.location.href);</script>
    </head>
    <body>
    <h2>This is childFrameA's Page </h2>
    <div>
    <iframe id="childFrameA-ChildFrame" src="childFrameA-ChildFrame.htm" frameborder="1"></iframe>
    </div>
    </body>
    </html>

    childFrameA-ChildFrame.htm

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <html>
    <head>
    <script>console.log(window.location.href);</script>
    </head>
    <body>
    <h2>This is Child Frame A's iframe page ... </h2>
    <a href="drilldown.htm" target="_self">link ...Self</a>
    <br>
    <a href="drilldown.htm" target="_parent">link ...Parent</a>
    <br>
    <a href="drilldown.htm" target="_top">link ...Top</a>
    <br>
    <a href="drilldown.htm" target="_blank">link ...Blank popup</a>
    <br>
    <a href="javascript:window.location.assign('drilldown.htm')">link ...javascript</a>
    </body>
    </html>

    drilldown.htm

    1
    2
    3
    4
    5
    6
    <html>
    <body>
    <h2>This is Drill Down Page... </h2>
    <a href="childFrameA-ChildFrame.htm" target="_self">backto ChildFrameA-ChildFrame ...self</a>
    </body>
    </html>

    因為在 index.htm 的 iframe 中有加入 sandbox ,可以發現在 console 中,顯示那3個 iframe 的內容中的 javascript 執行都會被 block 住,同時也提醒我們可以加入 allow-scripts 去允許javascript 的執行,如下,

    Blocked script execution in ‘‘ because the document’s frame is sandboxed and the ‘allow-scripts’ permission is not set.

    sandbox 屬性的限制關係

    target=”_self”
    • 當我們按下第 1 個 link (1.link …Self)可以順利將目前的頁面轉頁到 drilldown.htm ,所以預設在 iframe 切頁是沒有問題的
    javascript:window.location.assign(‘drilldown.htm’)
    • 當我們按下第 5 個 link (5.link …javascript),可以發現是沒有作用的,而在 console 中會顯示不允許執行 script 的訊息。

    那我們如果將該 iframe 也加上 sandbox 並設定允許 javascript 執行(sandbox=”allow-scripts”)是否可行呢?
    childFrameA.htm

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <html>
    <head>
    <title>Sandboxed Iframes</title>
    <style>
    #childFrameA-ChildFrame {
    width:400px;
    height: 305px;
    margin: auto;
    border: 2px solid #224477;
    }
    </style>
    </head>
    <body>
    <h2>This is childFrameA's Page </h2>
    <div>
    <iframe id="childFrameA-ChildFrame" src="childFrameA-ChildFrame.htm" frameborder="1" sandbox="allow-scripts"></iframe>
    </div>
    </body>
    </html>

    結果還是沒有作用,但這次 console 卻也沒有任何的錯誤訊息出現。
    所以在 Child Frame 去開放權限也會被 Root sandbox 所限制住。

    • 接著在 index.htm 的 iframe sandbox 屬性去設定 allow-scripts ,並將 childFrameA.htm 中 iframe sandbox 拿掉,重新整理頁面,可以發現每個 iframe 的 script 都有正常執行, 按下第 5 個 link (5.link …javascript) 就可以正常切到 drilldown.htm
    target=”_top”
    • 當我們按下第 3 個 link (3.link …Top),可以發現也是沒有作用的,而在 console 中會顯示不允許瀏覽到 top-level window,如下,

      Unsafe JavaScript attempt to initiate navigation for frame with URL ‘http://10.211.55.3/iframesandbox/index.htm‘ from frame with URL ‘http://10.211.55.3/iframesandbox/childFrameA-ChildFrame.htm‘. The frame attempting navigation of the top-level window is sandboxed, but the flag of ‘allow-top-navigation’ or ‘allow-top-navigation-by-user-activation’ is not set.

    這時如果我們在 parentFrame.htm 中的 iframe 去設定 sandbox=”allow-top-navigation” ,也是沒有用的哦!
    而且會造成原本在 index.htm 中設定的 allow-scripts 往下都失效哦! iframe 的 sandbox 屬性去做 And 操作。

    所以按下第 3 個 link (3.link …Top),還是沒有作用的,而在 console 中也是顯示不允許瀏覽到 top-level window。

    • 清掉 parentFrame.htm 中 iframe sandbox 設定,並將 allow-top-navigation 也加到 index.htm 中的 iframe sandbox 屬性之中,就會變成了 sandbox=”allow-scripts allow-top-navigation” ,而第 3 個 link 也可以 work 了。
    target=”_blank”
    • 按下第 4 個 link (4.link …Blank popup),可以發現也是沒有作用的,而在 console 中會顯示不允許開啟 window,如下,

    Blocked opening ‘http://10.211.55.3/iframesandbox/drilldown.htm‘ in a new window because the request was made in a sandboxed frame whose ‘allow-popups’ permission is not set.

    所以依前面的經驗,將 allow-popups 加到 index.htm 中的 iframe sandbox 屬性之中,就會變成了 sandbox=”allow-scripts allow-top-navigation allow-popups” ,而4 個 link (4.link …Blank popup) 也可以 work 了。

    target=”_parent”
    • 按下第 2 個 link (2.link …Parent),可以發現也是沒有作用的,而在 console 中會顯示瀏覽到祖先,如下,

      Unsafe JavaScript attempt to initiate navigation for frame with URL ‘http://10.211.55.3/iframesandbox/childFrameA.htm‘ from frame with URL ‘http://10.211.55.3/iframesandbox/childFrameA-ChildFrame.htm‘. The frame attempting navigation is sandboxed, and is therefore disallowed from navigating its ancestors.

    這就是本文的重點啦,因為所有的 iframe 都被 sandbox 限制住了,所以無法瀏覽到父視窗。
    而錯誤訊息也沒有提示說,可以設定那個 allow 那個權限 …
    那 … 怎麼辦呢? 無解嗎?
    即然它說了,是因為 sandbox 的原因,那就不要用 sandbox 就可以了呀!

    果然將 index.htm 中 iframe 屬性中的 sandbox 拿掉,就沒有問題了。

    • 但有人可能會說,這樣是否會不安全呢? 這取決於這個 iframe src 的內容,如果它的 src 是外部網站,那我會建議使用 sandbox ,如果它是您內部系統,而且您整個系統也不會對外,那應該是沒有問題的哦!
    target=”_parent” , postMessage
    • 那如果有 sandbox 又想要瀏覽到 parent (祖先) 要如何做呢? 這時就只好透過 postMessage 的方式來達成了哦!
      新增第 6 個 link (6.postMessage …javascript),並使用 postMessage,所以 childFrameA-ChildFrame.htm 改成以下的內容,
      childFrameA-ChildFrame.htm
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      <html>
      <head>
      <script>console.log(window.location.href);</script>
      </head>
      <body>
      <h2>This is Child Frame A's iframe page ... </h2>
      <a href="drilldown.htm" target="_self">1.link ...Self</a>
      <br>
      <a href="drilldown.htm" target="_parent">2.link ...Parent</a>
      <br>
      <a href="drilldown.htm" target="_top">3.link ...Top</a>
      <br>
      <a href="drilldown.htm" target="_blank">4.link ...Blank popup</a>
      <br>
      <a href="javascript:window.location.assign('drilldown.htm')">5.link ...javascript</a>
      <br>
      <a href="javascript:window.parent.postMessage({url:'drilldown.htm'}, 'http://10.211.55.3');">6.postMessage ...javascript</a>
      </body>
      </html>
      而它父網頁 childFrameA.htm 則改成如下,
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      <html>
      <head>
      <title>Sandboxed Iframes</title>
      <style>
      #childFrameA-ChildFrame {
      width:400px;
      height: 305px;
      margin: auto;
      border: 2px solid #224477;
      }
      </style>
      <script>
      console.log(window.location.href);
      window.addEventListener('message', function(event) {
      if(event.data.url){
      window.location.assign(event.data.url);
      }
      });
      </script>
      </head>
      <body>
      <h2>This is childFrameA's Page </h2>
      <div>
      <iframe id="childFrameA-ChildFrame" src="childFrameA-ChildFrame.htm" frameborder="1" ></iframe>
      </div>
      </body>
      </html>

    這時按下第 6 個 link (6.postMessage …javascript),Parent視窗就會被換成了 drilldown.htm 了哦!

    當然,如果無法去改用 postMessage 的方式(可能是代理的產品)。請評估不使用 sandbox 屬性來達到想要的行為哦!

    參考資料

    Play safely in sandboxed IFrames
    HTML <iframe> sandbox Attribute
    Understanding iFrame sandboxes and iFrame security
    Cross-window communication

    • iframe
    • sandbox
    • target
    • _parent
    • Unsafe JavaScript
    Blazor WebAssembly 與 Server 相互轉換
    透過 Aspose.Words 讓設定 SectionBreakOddPage 的隱藏頁能顯示Header及Footer
    © 2025 亂馬客
    Hexo Theme Yilia by Litten
    • 所有文章
    • 友鏈
    • 關於我

    tag:

    • SQL
    • deadlock
    • 交換事件
    • exchangeEvent
    • log4net
    • Composite
    • RollingFileAppender
    • DetermineCurSizeRollBackups
    • InitializeRollBackups
    • InitializeFromOneFile
    • Aspose.Words
    • PDF
    • CompatibilityOptions
    • GrowAutofit
    • DocumentBuilder
    • InsertHtml
    • Session
    • EnableSessionState
    • SessionStateStoreProvider
    • Concurrent
    • mac
    • scrollbar
    • OPTIONS
    • IIS
    • 404
    • 要求篩選
    • Windows 10 IoT Core
    • Shutdown
    • Restart
    • iot:Capability
    • systemManagement
    • C00CE014
    • Angular
    • Service Worker
    • xamarin
    • ios11
    • MinimumOSVersion
    • MtouchArch
    • Deployment Target
    • ibtoolerror
    • aspose.words
    • NumberStyle
    • TradChinNum3
    • exec in t-sql
    • sql
    • execute
    • exec
    • How to get value to variable using 'execute' in t-sql?
    • cordova
    • ios 11
    • com.apple.CoreSimulator.SimDeviceType.undefined
    • ios
    • xCode 9
    • 從外部資料庫驅動程式產生的非預期的錯誤 (1)
    • Microsoft.Jet.OLEDB.4.0
    • kb4041691
    • kb4041681
    • kb4041676
    • kb4041678
    • 外部数据库驱动程序中(1)的意外错误
    • Unexpected error from external database driver (1)
    • Unexpected error from external database driver (1). (Microsoft JET Database Engine)
    • xcodebuild
    • exportArchive
    • exportOptionsPlist
    • Export Options property list
    • provisioningProfiles
    • Xcode 9
    • SMTPClient
    • MailMessage
    • Subject
    • ?號
    • Multiple
    • =?utf-8?B?
    • Attachments
    • Excel
    • SaveAs
    • 2148140012
    • 2146827284
    • Workbook
    • UWP
    • restart
    • disable update
    • beacon
    • QnA Maker
    • LUIS
    • Vital ESP
    • chatbot
    • FAQ
    • C#
    • botframework
    • BotBuilder
    • debug
    • luis.ai
    • predictions api
    • luis.ai 價格
    • MSA appId or password is incorrect
    • c#
    • botframework-emulator
    • custom error
    • exception handling
    • PostUnhandledExceptionToUser
    • IPostToBot
    • DialogModule
    • 1.2.10.0
    • 692fbea5521e1304
    • 1b44e1d426115821
    • CPU
    • 100%
    • WinDbg
    • ASP.NE
    • w3wp.exe
    • Aspose
    • SetLicense
    • NullReferenceException
    • BotDataStore
    • ConnectorStore
    • SmtpClient
    • SmtpConnection.GetConnection
    • .net
    • NetworkCredential
    • password
    • empty
    • DataGrid
    • .net 4
    • Paging
    • colspan
    • first column
    • ZAP
    • Certificate
    • Chrome
    • Firefox
    • Foxproxy
    • ERR_CERT_AUTHORITY_INVALID
    • Your connection is not private
    • 你的連線並不安全
    • JSON
    • Replace
    • special character
    • JavaScriptStringEncode
    • 當登記分置交易時發生錯誤
    • EnlistNonNullDistributedTransaction
    • EnlistDistributedTransaction
    • MSDTC
    • firewall
    • 協力電腦異動管理員已經停用了對遠端/網路異動的支援
    • BotFramework-WebChat
    • botchat.js
    • Botframework
    • Web Application
    • DirectLine
    • autofac
    • DialogModule.BeginLifetimeScope
    • IDialogTask
    • ScorableBase
    • aspose
    • aspose.cells
    • Html
    • Excell
    • IBotDataStore
    • FlushAsync
    • The data is changed
    • Aspose.Cells
    • datatable
    • Aspose.Pdf
    • pdf
    • watermark
    • 浮水印
    • asp.net
    • Aspose.Pdf.Facades.Stamp
    • BotToUser
    • ConnectorClient
    • TryAddWithoutValidation
    • Header
    • In-House certificate
    • expired
    • Provisioning Profiles
    • Revoke
    • keychain
    • No installed provisioning profiles
    • DataColumn
    • DefaultValue
    • RxJS
    • Development Environment
    • 環境設定
    • DOM
    • events
    • mousedown
    • mousemove
    • mouseup
    • touchstart
    • touchmove
    • touched
    • darw
    • iis
    • 403
    • 403.4
    • 403 - 禁止: 拒絕存取
    • 403.4 - Forbidden
    • Adaptive Cards
    • Microsoft Botframework
    • Customize Web Chat for your websites
    • http
    • 500
    • 內部伺服器錯誤
    • exception
    • NHibernate
    • GenericADOException
    • EncoderFallbackException
    • Unicode
    • adaptivecard
    • adaptive
    • Autofac
    • RegisterForEventValidation
    • EnableEventValidation
    • SSL/TLS
    • ServerCertificateValidationCallback
    • SecurityProtocol
    • order by
    • letters
    • numbers
    • jenkins
    • macos
    • node
    • npm
    • AppScan
    • 未更新階段作業 ID
    • 登入後變更階段作業 ID 值
    • Could not find a part of the path
    • roslyn\csc.exe
    • cells
    • excel
    • footer
    • 頁尾
    • TextState
    • fontlink\systemlink
    • Request.BinaryRead
    • ASP 0104
    • 2147467259
    • Windows 2008
    • 200k
    • Port
    • 465
    • 587
    • timeout
    • The operations timed out
    • hang
    • BFv4
    • WeChat
    • 微信
    • weixin
    • 公众平台
    • checkSignature
    • OpenTracing
    • Distributed Tracing
    • Jaeger
    • APM
    • Dynatrace
    • .NET
    • BFv3
    • Forms Authentication
    • Windows Authentication
    • Mvolo.FormsAuthenticationModule.dll
    • NodeJS
    • Dynamic Proxy
    • EnableClassInterceptors
    • EnableInterfaceInterceptors
    • AsyncInterceptor
    • Fody
    • MethodBoundaryAspect.Fody
    • IL Rewriting
    • IL weaving
    • PostSharp
    • System.Net.Http
    • 4.1.0.0
    • 軟體求生
    • js
    • document.formName
    • undefined
    • asp.net 4
    • Legacy
    • react
    • scrimba
    • javascript
    • vue
    • css
    • mssql 2017
    • table function
    • if
    • variable
    • Elasticsearch
    • Kibana
    • ASP.NET MVC
    • Controller
    • lambda_method
    • sql 2016
    • sql 2005
    • sql 2008
    • replace
    • rtrim
    • Microsoft Threat Modeling Tool
    • STRIDE
    • 威脅模型
    • checkmarx
    • Cookie_Injection
    • CSharp
    • non-printable characters
    • 不可視字元
    • Bitmap.save
    • GDI+
    • Odata
    • Cross site scripting
    • content-sniffing
    • ODataController
    • VS2017
    • VS2019
    • WebTest
    • ASPX
    • Postback
    • iisnode
    • nodejs
    • windows
    • PuppeteerSharp
    • ASP.NET
    • 程式什麼都有可能發生
    • DataGridItem
    • WebControl.Attributes
    • Win10
    • IE11
    • 不支援文化特性
    • zh-Hant-TW
    • 無效的文化特性識別項
    • .NET Core
    • AD
    • Authentication
    • LDAP
    • Novell.Directory.Ldap.NETStandard
    • aspnet_client
    • Unauthorized
    • bfv4
    • HttpClient
    • customHttpClient
    • Aspose.Pdf.Document
    • Pdf
    • 空白框框
    • characters are missing
    • charset
    • big5
    • FontRepository
    • MSGothic
    • NPOI
    • Windows 2012
    • Crash
    • Application Pool
    • 偵測到隱藏目錄
    • Forbidden
    • 77
    • font
    • DFKai-SB
    • broken
    • session
    • RewriteModule
    • 2147942433
    • overrideModeDefault="Deny"
    • allowedServerVariables
    • The iisnode module is unable to start the node.exe process.
    • machineKey
    • Authorization
    • authentication
    • User.Identity
    • FormsAuthentication.Decrypt
    • plus
    • +
    • filename
    • WorkbookDesigner
    • Smart Markers
    • Template
    • 套表
    • DataTable
    • DataSet
    • windows 10
    • ie
    • AD Login
    • 摘要式驗證
    • Digest Authentication
    • ef core
    • .NETStandard
    • ASP.NET Core
    • Dependency Injection
    • DI
    • input
    • file
    • vs.net
    • BC31007
    • Temporary ASP.NET Fiels
    • IE
    • Print
    • Print dialog
    • cookie missing
    • without session
    • cookieSameSite
    • X-XSS-Protection
    • Content-Security-Policy
    • X-Frame-Options
    • X-Content-Type-Options
    • Feature-Policy
    • Referrer-Policy
    • Audit.NET
    • DevAudit
    • OSSIndex
    • Mixed Content
    • CSP
    • upgrade-insecure-requests
    • 2148734209
    • TLS
    • HTTPS
    • 無法建立 SSL/TLS 的安全通道
    • WebException
    • AuthenticationException
    • 基礎連接已關閉
    • 遠端主機已強制關閉一個現存的連線
    • 接收到的訊息超出預期或格式不正確
    • 2148074278
    • 需要伺服器名稱指示
    • iframe
    • Uncaught DOMException
    • Blocked a frame with origin
    • DatabaseFacade
    • Migrate
    • EntityFrameworkCore
    • DbContext
    • SectionStart
    • SectionBreakOddPage
    • PageNumber
    • Blazor
    • WebAssembly
    • Server
    • Convert
    • sandbox
    • target
    • _parent
    • Unsafe JavaScript
    • svn
    • sharpsvn
    • export
    • prefix svn-
    • Forms Authentication Cookie
    • cross-site cookie
    • None
    • Logging
    • Api
    • MVC
    • GetTokenAsync
    • DelegatingHandler
    • IExceptionHandlerPathFeature
    • BeginScope
    • Blazor Server
    • EF Core
    • Invalid attempt to call ReadAsync when reader is closed
    • A second operation started on this context before a previous operation completed
    • ActiveX
    • Javascript
    • ActiveXObject
    • COMException
    • 2147943418
    • -2147023878
    • AADSTS50011
    • Azure
    • Azure AD
    • signin-azuread-oidc
    • Redirect URIs
    • case sensitivity
    • Adobe PDF
    • Printer
    • Alternative
    • PdfScribe
    • PDF Virtual Printer
    • 自造字
    • Add-Migration
    • Microsoft.EntityFrameworkCore.Tools
    • Node.js
    • axios
    • AxiosError
    • ECONNREFUSED
    • 127.0.0.1
    • ipv4
    • Key Vault
    • RBAC
    • DefaultAzureCredential
    • ClientSecretCredential
    • WebAPI
    • PUT
    • DELETE
    • VB.NET
    • Visual Basic
    • BC30201
    • BC30035
    • BC30157
    • BC30205
    • system.codedom
    • compiler
    • CORS
    • Corss-Origin Requests
    • 405
    • preflight
    • blocked by CORS
    • csp
    • Content Security Policy
    • default-src
    • unsafe-inline
    • modernizr-2.8.3.js
    • sha256-CwE3Bg0VYQOIdNAkbB/Btdkhul49qZuwgNCMPgNY5zw=
    • sha256-MZKTI0Eg1N13tshpFaVW65co/LeICXq4hyVx6GWVlK0=
    • sha256-LpfmXS+4ZtL2uPRZgkoR29Ghbxcfime/CsD/4w5VujE=
    • sha256-YJO/M9OgDKEBRKGqp4Zd07dzlagbB+qmKgThG52u/Mk=
    • Missing Content Security Policy
    • Checkmarx
    • Client_Side_Only_Validation
    • Page.IsValid
    • Page.Validate()
    • Dangerous_File_Upload
    • PostedFile.SaveAs
    • Server.MapPath
    • HSTS
    • automatic redirect from http to https
    • HTTP Strict Transport Security
    • Missing_HSTS_Header
    • Client_Heuristic_Poor_XSS_Validation
    • JavaScript
    • escape
    • encodeURI
    • DOMPurify
    • DOM base XSS
    • CryptographicException
    • BouncyCastle.Security
    • The system cannot find the file specified
    • Custom URI Scheme
    • Windows
    • OAuth2
    • Private-Use URI Scheme
    • zh-TW_pronun
    • CultureNotFoundException
    • Culture name zh-TW_pronun is not supported
    • 不支援文化特性名稱 zh-TW_pronun
    • Windows 10
    • 變更排序方法
    • Custom
    • Preset
    • JavaScript_Server_Side_Vulnerabilities
    • Jenkins
    • Incremental
    • 資安
    • 使用者密碼
    • Password
    • Heap Inspection
    • Custom Model Binder
    • SecureString
    • Excessive_Data_Exposure
    • byte Array
    • MVC5
    • netFramework
    • Heap_Inspection
    • WebForm
    • Slow
    • Https
    • 此網站的安全性憑證有問題
    • 檢查伺服器憑證撤銷
    • Razor Page
    • XXE
    • XmlDocument
    • XmlResolver
    • DtdProcessing.Prohibit
    • Insufficient_Connection_String_Encryption
    • Oracle
    • TCPS
    • MSSQL
    • PostgreSQL
    • Migration
    • ODBC
    • Database
    • SSMS
    • Export
    • BCP
    • MSB3644
    • 找不到 .NETFramework
    • Developer Pack
    • OWSAP Top 10 2021
    • Missing_Object_Level_Authorization
    • C# 9.0
    • NET5
    • record
    • pattern matching
    • Immutable Class
    • NET Conf
    • dotNETConf
    • dotNETConf 2020
    • .NET 5.0
    • OpenID Connect
    • OAuth
    • oidc
    • GetTempFileName
    • IOException
    • CrystalReports
    • ExportToHttpResponse
    • 檔案存在
    • The file exists
    • 65535
    • Path Traversal
    • Log_Forging
    • Progressive Web Application
    • PWA
    • Notification
    • Web Push
    • Cache
    • App Shell
    • Pre Cache
    • Install
    • manifest
    • VAPID
    • Voluntary Application Server Identification
    • Reflected_XSS_All_Clients
    • JsonNetResult
    • JsonResult
    • EscapeHtml
    • JsonConvert.SerializeObject
    • JsonSerializerSettings
    • TRIPLE_DES
    • SYMMETRIC
    • ALGORITHM
    • ResultFilter
    • Entity
    • DTO
    • ViewModel
    • ResultFilterAttribute
    • OnResultExecutionAsync
    • AutoMapper
    • fn_dblog
    • find Deleted records
    • REVERSE
    • 定序
    • COLLATE
    • 從 binary/varbinary 字串轉換成 datetime 時,轉換失敗
    • Trust_Boundary_Violation
    • Regex.IsMatch
    • UltraWebGrid
    • Infragistics
    • slow
    • system.webServer
    • Unrecognized configuration section 'system.webServer'
    • ASP.NET 1.1
    • V9.2.0
    • Unencrypted_Web_Config_File
    • web.config
    • Reflection
    • ReflectionMagic
    • Clean-Codes
    • Invokemember
    • MethodInfo
    • Visual Studio
    • Build Succeed
    • Errors
    • Intellisense
    • app.UseHttpsRedirection
    • HttpsPort
    • Abp
    • /libs/abp/core/abp.css
    • Basic.Global
    • install-libs
    • XML External Entity (XXE)
    • ReadXml
    • XmlReaderSettings
    • DtdProcessing
    • ABP
    • ABP Framework
    • DDD
    • .NET 1.1
    • ADO.NET
    • pre-login handshake
    • TCP Provider
    • AntV
    • G6
    • Update
    • Graph
    • G6.Graph
    • asp.net core
    • logger
    • custom
    • Cross-Site Scripting: Reflected
    • Cookieless
    • Response._appPathModifier
    • A(XXXX)
    • S(XXXX)
    • F(XXXX)
    • CookielessHelperClass
    • RemoveCookielessValuesFromPath
    • HTTP GET with request body
    • 4.x
    • Global.asax
    • Response.Write
    • utf-8
    • 亂碼
    • Gzip
    • Word
    • 空白框
    • square box
    • kangxi radical
    • unicode
    • 空白字
    • 標楷體
    • 全字庫
    • HTTP_Response_Splitting
    • Response.AddHeader
    • VBNET
    • UrlEncode
    • AZ305
    • AZ-305
    • Exam AZ-305
    • Azure Function
    • Function App
    • Queue trigger
    • Blob
    • Upload
    • File
    • MaxRequestBodySize
    • Request Entity Too Large
    • Request body too large
    • requestLimits
    • maxAllowedContentLength
    • dotnet
    • dotnet ef
    • dotnet-ef
    • 因為找不到指定的命令或檔案,所以無法執行
    • .NET 4
    • .NET 4.5
    • PropertyInfo.GetValue(System.Object)
    • Cannot find method definition
    • CS1501
    • DefaultRequestHeaders.Authorization
    • Privacy Violation
    • Office
    • 0x80080005
    • CO_E_SERVER_EXEC_FAILURE
    • Application.Documents.open()
    • Client_DOM_Open_Redirect
    • Client_Potential_DOM_Open_Redirect
    • Code_Injection
    • Invoke
    • forms-base authentication
    • 跨機器
    • Form驗證
    • cookie
    • domain
    • Single sign-on
    • SSO
    • Reporting Service
    • EUDC
    • Font
    • 造字程式
    • 950
    • 1252
    • Distinct
    • DataView
    • DataTable.AsEnumerable
    • Linq
    • CopyToDataTable
    • Red Team
    • Reconnaissance
    • DNS records
    • IP addresses
    • tsc
    • TS2307
    • Cannot find module
    • import
    • CASE-SENSITIVE
    • CentOS
    • forceConsistentCasingInFileNames
    • WebScoket
    • nginx
    • WAF
    • Error during WebSocket handshake
    • ERR_CONNECTION_RESET
    • 外網
    • Citrix NetScaler
    • TypeScript
    • dynamic
    • property
    • bracket-notation
    • Fiddler
    • netsh winhttp
    • Grafana
    • Loki
    • NLog
    • Serilog
    • MIME
    • ContentType
    • Download
    • csharp
    • Base64
    • Hex
    • Encode
    • Decode
    • string.Format
    • json
    • System.FormatException
    • Input string was not in a correct format
    • Kali Linux
    • WSL
    • Kex
    • Json.Deserialize
    • JsonSerializerOptions
    • PropertyNameCaseInsensitive
    • PropertyNamingPolicy
    • JsonNamingPolicy.CamelCase
    • GraphDatabase
    • JanusGraph
    • Gremlin
    • person
    • friends
    • path()
    • java
    • jar
    • class
    • no main manifest attribute
    • Storage
    • Queue
    • MaxDequeueCount
    • Function
    • poison
    • Kendo
    • JSZip
    • CVE-2021-23413
    • metasploit
    • portscan
    • tcp
    • scanner
    • auxiliary
    • scanner/portscan/tcp
    • meterpreter
    • Easy File Sharing Web Server
    • nmap
    • privilege escalation
    • reverse_tcp
    • msfvenom
    • exploit/multi/handler
    • msfconsole
    • mssql_payload
    • xp_cmdshell
    • mssql
    • MigrationToolkit
    • MTK
    • JDBC
    • Connection refused
    • ML.NET
    • p-Value
    • 0x80131509
    • outside expected
    • Regression.Trainers.Ols
    • MQTTnet
    • mosquitto
    • MQTT
    • allow_anonymous
    • mosquitto.conf
    • IOT
    • username
    • password_file
    • graph
    • all path
    • edge
    • select
    • FOR XML PATH
    • Owin.Security
    • Owin.Security.OpenIdConnect
    • AuthenticationProperties
    • AuthorizationCodeReceivedNotification
    • RDP
    • CredSSP
    • mstsc
    • 遠端桌面
    • Oracle 更新加密
    • SSRS
    • woff
    • ttf
    • Worker
    • worker_threads
    • cluster
    • XOR
    • Encrypt
    • Decrypt
    • 加密
    • 解密
    • 追蹤
    • User
    • Login
    • LDAP 伺服器無法使用
    • 提供的認證無效
    • azure
    • webapp
    • internal server error
    • sqlite
    • npm install
    • non-null
    • !
    • CS8602
    • CS8600
    • OAuth 2.0
    • PKCE
    • Proof Key for Code Exchange
    • claiming URLs
    • Custom URL Scheme
    • public client
    • Authorization Code Flow
    • response_type=code
    • grant_type=authorization_code
    • private client
    • oauth2
    • ROPC
    • Resource Owner Password Credentials
    • grant_type=password
    • Implicit Flow
    • response_type=token
    • response_mode=fragment
    • token flow
    • OpenSSL configuration error
    • Windows 10 環境變數
    • OpenIdConnectHandler.GetUserInformationAsync
    • OpenIdConnectHandler.HandleRemoteAuthenticateAsync
    • FortiGuard
    • SSL
    • oracle
    • 17002
    • 08006
    • IO Error
    • LEAD
    • CTE
    • Range
    • Rate
    • OWASP
    • OWASP Top 10 - 2021
    • connectionString
    • semicolon
    • single quote
    • PNG
    • TIFF
    • kaiu.tff
    • GhostscriptProcessor
    • GhostscriptRasterizer
    • Sequence
    • Migration Toolkit
    • pgAdmin
    • text/plain
    • not executable
    • strict MIME type
    • OpenTelemetry
    • OpenCensus
    • IHttpHandler
    • Static Files
    • TXT
    • XLS
    • StaticFile
    • Classic Mode
    • Integrated Mode
    • zip
    • 0x80131515
    • Import-Module
    • dll
    • Key
    • ProtectedData
    • Vault
    • RequestSizeLimit
    • Abp Framework
    • HttpContext.Features.MaxRequestBodySize
    • Web Application Firewall
    • ModSecurity
    • UrlScan
    • OWASP ModSecurity Core Rule Set
    • sql 2019
    • 15.0 RTM
    • 15.0.2000.5
    • Timeout
    • SQLPlan
    • SQL Injection
    • SQL Server
    • 資料交換
    • 異動資料
    • Database Snapshot
    • 資料庫快照集
    • SqlException (0x80131904)
    • Named Pipes Provider
    • Win32Exception(0x80004005)
    • SQL License
    • SQL援權
    • TCP
    • Handshake
    • Teams
    • meetings
    • behalf of a user
    • Microsoft Graph
    • Access Policy
    • No Application Access Policy found for this app.
    • OnlineMeetings.ReadWrite.All
    • teams
    • meeting
    • outlook
    • calendar
    • Calendars.ReadWrite
    • Connection Pooling
    • Auto Close
    • Connection
    • Pool
    • ExecuteReader
    • ExecuteReaderAsync
    • CloseConnection
    • TLS 1.2
    • Disable TLS 1.1
    • type/javascript
    • text/javascript
    • mime
    • SEC7112
    • ashx
    • Surrogate pair
    • CJK Compatibility
    • 難字
    • Char.IsSurrogatePair
    • Char.ConvertToUtf32
    • Bot
    • Disabled
    • Teams app validator
    • Org-wide app settings
    • Source Link
    • Debug
    • 來源支持
    • Microsoft Visual Studio
    • 無法將憑證新增至受信任的根憑證存放區
    • Adding the certificate to the Trusted Root Certificates store failed with the following error
    • Access is denied
    • 無法信任憑證
    • VMDK
    • VHD
    • Azure CLI
    • VMDK to Azure
    • VHD to Azure
    • VSCode
    • Console.ReadLine
    • internalConsole
    • 偵錯主控台
    • Docker
    • Visual Studio 2019
    • Dockerfile
    • COPY failed
    • Docker build
    • HTTP 400
    • UseHttpMethodOverride
    • X-HTTP-Method-Override
    • webpack
    • opensslErrorStack
    • ERR_OSSL_EVP_UNSUPPORTED
    • 3000086
    • digital envelope routines::initialization error
    • allowDefinition=MachineToApplication error
    • sessionState
    • Internet Explorer
    • Edge
    • Plugins
    • 防詐達人
    • AWS
    • IP
    • log
    • waf
    • Could not resolve host
    • curl
    • Windows Subsystem for Linux
    • OWASP Top 10
    • Blind SQL Injection
    • Unsafe_Reflection
    • V9.4.5
    • CWE-470
    • functional programming
    • retry
    • Partial
    • Curry
    • Property
    • 屬性
    • private set
    • testing
    • private
    • internal
    • Upgrade
    • v4
    • v5
    • Domain service
    • Repository
    • Specification
    • Ajax
    • 遺漏對 Sys.Application.notifyScriptLoaded() 的呼叫
    • Sys.Browser.name
    • Cannot read properties of null (reading '_notified')
    • DataSeedContributor
    • DataSeeder
    • duplicate key
    • AbpPermissionGrants
    • IX_AbpPermissionGrants_TenantId_Name_ProviderName_ProviderKey
    • SeedAsync
    • Domain Events
    • AddLocalEvent
    • ILocalEventHandler
    • AddDistributedEvent
    • Crystal Report
    • Response.Filter
    • Blank
    • SystemFontSource
    • SetFontsSources
    • FileFontSource
    • TTE
    • EF
    • Shadow
    • Indexer
    • property bag entity types
    • Dictionary
    • SharedTypeEntity
    • Owned Entity Types
    • OwnsOne
    • ValueObject
    • FILE
    • BIG5
    • UTF8
    • UTF8 BOM
    • Encoding
    • GetEncoding(950)
    • blank
    • 檔案已損壞且無法修復
    • Encoding.Default
    • TestBase
    • TestBaseModule
    • SeedTestData
    • appsettings
    • IConfiguration
    • AbpDataSeedOptions
    • Web.Tests
    • WebTestBase
    • CreateHostBuilder
    • Development
    • connect-src
    • violates
    • Access-Control-Allow-Origin
    • Power BI embedded
    • .NET Framework
    • AppOwnsData
    • ReportEmbedConfig
    • EmbedToken
    • bundled
    • minified
    • Hyperlink
    • 302
    • Microsoft Office Protocol Discovery
    • MigrateAsync
    • API
    • Route
    • normalized
    • ConventionalControllerSetting
    • AbpConventionalControllerOptions
    • ConventionalPrefixes
    • Connection Strings
    • AbpDbConnectionOptions
    • ConnectionStringName
    • ReplaceDbContext
    • Switch Tenant
    • Hide Tenant Switch
    • AbpMultiTenancyCookieHelper
    • CurrentTenant.Change
    • Disable
    • __doPostBack
    • Immediately-invoked Function Expressions
    • IIFE
    • semicolons
    • EWS
    • Exchange
    • Room
    • Exchange Web Service
    • 會議室
    • Unknown error (0x80005000)
    • Appointments
    • DirectorySearcher
    • 0x80005000
    • System.DirectoryServices
    • 無法指出的錯誤
    • FreeBusyAndSuggestions
    • GetUserAvailability
    • IIS Express
    • NET::ERR_CERT_AUTHORITY_INVALID
    • 你的連線不是私人連線
    • Swagger
    • Swagger UI
    • 400
    • Bad Request
    • Antiforgery
    • Tomcat
    • SSLHostConfig
    • 8443
    • CAS
    • cas-overlay-template
    • Tomcat 10
    • encrypt
    • disable
    • camera
    • permanent
    • TSQL
    • Performance
    • SARG
    • GroupId
    • ChannelId
    • Guid
    • listen
    • EACCES
    • port
    • permission denied
    • Novacode
    • Xceed
    • DocX
    • Table
    • InsertRow
    • Search
    • Address
    • Latitude
    • Longitude
    • Azure Map
    • 罕用字
    • fontforge
    • WOFF
    • White Box
    • GlyphInfo
    • ReportViewer
    • Hang
    • SQL Server Reporting Services
    • Discord
    • discord.js
    • Node
    • Express
    • Channel
    • DirectMessage
    • Reply
    • Client DOM Stored XSS
    • Client DOM XSS
    • CrystalDecisions.Web
    • Discrod機器人
    • powershell
    • failure
    • typescript
    • SyntaxError
    • Unexpected token
    • ipynb
    • nuget
    • package
    • vscode
    • restify
    • TypeError
    • Readable
    • V18
    • SK
    • Semantic Kernel
    • Skill
    • Joke
    • inline
    • function
    • WithAzureChatCompletionService
    • RegisterSemanticFunction
    • CreateSemanticFunction
    • ImportSemanticSkillFromDirectory
    • Heuristic_2nd_Order_SQL_Injection
    • SqlMapper
    • Path
    • Dapper
    • none
    • self
    • CS1988
    • await
    • async
    • Host
    • 自定Host
    • Windows 驗證
    • hosts
    • localhost
    • DisableStrictNameChecking
    • BackConnectionHostNames
    • MSDeploy
    • 8172
    • 無法從傳輸連接讀取資料
    • RC4
    • Triple DES
    • Client Hello
    • RST, ACK
    • Cookie
    • Empty Name
    • SqlException
    • 0x80131904
    • 0x80090325
    • 此憑證鏈結是由不受信任的授權單位發出的
    • Subscription
    • subscription filter
    • knex
    • Undefined
    • Raw.toSQL
    • CSRF
    • HttpClientFactory.CreateClient
    • proxy
    • 502
    • httpsAgent
    • Firewall
    • Ingress
    • Egress
    • node-pre-gyp
    • OpenAI
    • Assistants
    • UNABLE_TO_GET_ISSUER_CERT_LOCALLY
    • openai
    • assistants api
    • gpt4
    • ChatGPT
    • Usage tiers
    • GUID
    • Short
    • URL
    • 短網址
    • Base62
    • Base64UrlEncode
    • add
    • claims
    • oauth
    • AADSTS700016
    • Azure Bot
    • Single Tenant
    • Type of App
    • Supported account types
    • Kernel Memory
    • LLM
    • RAG
    • embeddings
    • MemoryWebClient
    • KernelMemoryBuilder
    • MemoryServerless
    • TextPartitioningOptions
    • Qdrant
    • MaxTokensPerParagraph
    • MaxTokensPerLine
    • OverlappingTokens
    • Chunks
    • Postgres
    • pgvector
    • CS8652
    • copy
    • folder
    • output
    • prompt
    • engineering
    • improving
    • 提示工程
    • Prompt
    • template
    • yaml
    • HandlebarsPromptTemplateFactory
    • plugins
    • Handlebars
    • Planners
    • Personas
    • KernelFunction
    • ChatCompletionService
    • semantic-kernel
    • DevExpress
    • XtraReport
    • Empty
    • IIS Application pool
    • aspNetCore
    • AspNetCoreModuleV2
    • Hosting Bundle
    • Compression
    • urlCompression
    • 靜態壓縮
    • doStaticCompression
    • doDynamicCompression
    • show only vulnerable
    • Nuget
    • DependencyCheck
    • ssl.com
    • Can not retrieve credential
    • eSigner
    • Signing credentials not configured
    • ipconfig
    • mac address
    • 實體位址
    • Spoofing
    • NetworkAddress
    • DevTools
    • Network
    • Console
    • Implicitly imported namespaces
    • .NET 6
    • 隱含全域 Using
    • Typescript
    • TS2411
    • TS2339
    • TS2536
    • TS2792
    • Unsafe Reflection
    • Assembly.LoadFile
    • molecular
    • chemical
    • formulas
    • DbMigrationService
    • apply-migrations-at-runtime
    • Microsoft.ML
    • OneDalDispatchingEnabled
    • MissingFieldException
    • dev-certs
    • appsettings.json
    • Middleware
    • ClaimsPrincipal
    • Identity.Application
    • ClaimsIdentity
    • getaddrinfo
    • Temporary failure in name resolution
    • ESET
    • 8001
    • DBNETLIB
    • ODBC SQL Server Driver
    • SQL Server does not exist or access denied
    • OdbcConnection
    • Bot Framework v4 SDK Templates for Visual Studio
    • ConfigureAppConfiguration
    • ConfigurationBuilder
    • AddJsonFile
    • Assistant
    • AgentBuilder
    • AOAI
    • LM Studio
    • Local Server
    • Phi-2
    • AutoInvokeKernelFunctions
    • ISemanticTextMemory
    • hallucinate
    • systemMessage
    • 參數幻覺
    • Security
    • UNABLE_TO_VERIFY_LEAF_SIGNATURE
    • unable to verify the first certificate
    • Code
    • id_token
    • access_token
    • FormsAuthentication
    • ToolCallBehavior
    • EnableKernelFunctions
    • Phi-3
    • AddOpenAIChatCompletion
    • AddAzureOpenAIChatCompletion
    • AI 面試官
    • AddHuggingFaceChatCompletion
    • AI Interviewer
    • 網路層級驗證
    • cookies
    • withCredentials
    • 第三方 Cookie
    • 267009
    • Task
    • 排程
    • Pause
    • bat
    • Potential Clickjacking on Legacy Browsers
    • Client_DOM_XSS
    • Always Encrypted
    • 運算元類型衝突
    • Stream
    • MemoryStream
    • ToArray
    • Read
    • BinaryReader
    • VS 2022
    • public
    • Swashbuckle
    • SwaggerUI
    • SwaggerUIOptions
    • Minimal API
    • Unicode escaped
    • Json
    • Regex.Unescape
    • TypeChat
    • JsonTranslator
    • RLS
    • EffectiveIdentity
    • ChatCompletionAgent
    • AutoGen
    • AgentGroupChat
    • ApprovalTerminationStrategy
    • GPT-4o
    • Captcha
    • OCR
    • Image
    • 手寫辨識
    • OpenAIAssistantAgent
    • Server_Dos_by_Loop
    • Unchecked_Input_For_Loop_Condition
    • 發票
    • invoice
    • Permissive Content Security Policy
    • Cognitive
    • AllowAnonymous
    • Authorize
    • ASP0026
    • abp
    • AppService
    • Policy
    • IPermissionChecker
    • 工作排程器
    • Duration
    • zh-Hans
    • zh-Hant
    • zh-CN
    • zh-TW
    • OpenCCNET
    • Text2SQL
    • NL2SQL
    • vanna-ai
    • ReferenceHandler.Preserve
    • recursion
    • Dynamic
    • Permission
    • PermissionDefinitionProvider
    • AbpPermissions
    • AbpPermissionGroups
    • IsDynamicPermissionStoreEnabled
    • Outlook
    • operation has been cancelled
    • AzureAD
    • Azure Active Directory
    • OpenIdConnect
    • cshtml
    • TextChunker
    • SplitPlainTextLines
    • SplitPlainTextParagraphs
    • Chunk
    • KM
    • Split
    • Enterprise applications
    • Entra ID
    • Assistant API
    • arguments
    • mis-encodes
    • Latin-1
    • SqlConnection
    • ConnectionString
    • CommandTimeout
    • SqlClient
    • Retrieval-Augmented Generation
    • 本地模型
    • SQLServer
    • cosine similarity
    • Decoder
    • TextDecoder
    • HtmlDecoder
    • PdfDecoder
    • MsPowerPointDecoder
    • MsWordDecoder
    • MarkDownDecoder
    • MsExcelDecoder
    • ubuntu
    • docker
    • dify
    • ssl
    • certificate
    • python
    • certifi
    • docker-compose
    • 台灣政府憑證
    • root ca
    • gcis.nat.gov.tw
    • 憑證問題
    • MSSQL 2019
    • 8632
    • 到達運算式服務的限制
    • MFA
    • Two-Factor Authentication
    • ABP MVC MFA
    • ASP.NET Core MFA
    • ABP 身份驗證
    • ABP 兩步驟登入
    • ABP 強制 MFA
    • Identity TwoFactor
    • ABP 多因素認證
    • Global.asax.cs
    • Application_PreSendRequestHeaders
    • Application_Start
    • X-AspNet-Version
    • X-AspNetMvc-Version
    • Server Header

      缺失模块。
      1、请确保node版本大于6.2
      2、在博客根目录(注意不是yilia根目录)执行以下命令:
      npm i hexo-generator-json-content --save

      3、在根目录_config.yml里添加配置:

        jsonContent:
          meta: false
          pages: false
          posts:
            title: true
            date: true
            path: true
            text: false
            raw: false
            content: false
            slug: false
            updated: false
            comments: false
            link: false
            permalink: false
            excerpt: false
            categories: false
            tags: true
      

    • 亂馬客-點部落
    • TechSmith
    • wintellectnow
    • 叡揚資訊
    • SSWTV
    • 技術RADAR
    • Framework 設計方針
    • Visual Studio Code for Web
    • SharpLab
    • .NET Fiddle
    • W3Schools C# Online Compiler
    • C# Coding Conventions
    大家好,我是亂馬客 Rainmaker,目前任職於叡揚資訊,大家也都叫我 RM 。 平常負責開發公司各產品線的加值、共用的軟體,例如 Azure, OpenAI, Chatbot, Database ... 同時 Support 公司各種技術及資安黑箱(AppScan)、白箱(Checkmarx)等問題的解決。 Blog中的內容也是個人的看法, 如果有需要討論的地方, 可以留言,或是 mail 給我 :) rainmaker_ho@gss.com.tw