1,直接引入markdown文件
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script> <div id="content"></div> <script> $.get('../md/index.md', function(response, status, xhr){ $("#content").html(marked(response)); }); </script>
md文件內容效果
html頁面效果
2.直接寫入md源碼
<div id="content"></div> <script> var aa=`## XXE -"xml external entity injection" 既"xml外部實體注入漏洞"。 概括一下就是"攻擊者通過向服務器注入指定的xml實體內容,從而讓服務器按照指定的配置進行執行,導致問題" 也就是說服務端接收和解析了來自用戶端的xml數據,而又沒有做嚴格的安全控制,從而導致xml外部實體注入。 具體的關於xml實體的介紹,網絡上有很多,自己動手先查一下。 現在很多語言里面對應的解析xml的函數默認是禁止解析外部實體內容的,從而也就直接避免了這個漏洞。 以PHP為例,在PHP里面解析xml用的是libxml,其在≥2.9.0的版本中,默認是禁止解析xml外部實體內容的。 ` document.getElementById('content').innerHTML = marked(aa); </script>
md文件顯示效果
html頁面效果
相比之下推薦第一種,
原因1,直接更改文件即可達到效果,
原因2,字符串拼接會比較麻煩,因為md的格式中會有雙引號,反引號等出現,所以拼接就是一個特別麻煩的事,如果有好的方式,謝謝提點