Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 久久久精品麻豆,99国产精品免费视频,全亚洲最大的777io影院

          整合營銷服務商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          Highlight.js - 前端的代碼語法高亮庫

          Highlight.js - 前端的代碼語法高亮庫

          辛萬苦寫了篇技術分享,貼了一堆代碼,興高采烈地發(fā)到了自己的博客網(wǎng)站上。結(jié)果卻發(fā)現(xiàn)代碼全是白底黑字,字體還難看得很,你瞬間就沒了興致。能不能讓網(wǎng)頁也能像 IDE 那樣,做帶語法高亮的炫酷顯示呢?來看一看 Highlight.js 吧,看這個語法高亮庫如何點亮你的代碼。

          Highlight.js

          簡介

          Highlight.js,是在 Github 上由 highlight.js 組織開源的前端代碼語法高亮庫,代碼倉庫在 https://github.com/highlightjs/highlight.js,目前版本為 10.1.0。其不依賴于任何框架,自帶對于大量編程語言和標記語言的語法高亮規(guī)則,和主流的高亮色彩方案,且可以自由擴展。其支持自動語言檢測,使用極為方便,是在網(wǎng)頁上進行語法高亮的不二之選。

          highlight.js語法高亮庫

          安裝

          Highlight.js 的 CSS 文件的選擇決定高亮配色方案,默認為 Default,另外還有如 Monokai Sublime、Ocean、Solarized Dark、Tomorrow 等經(jīng)典的主流配色方案。

          而 JS 文件的選擇決定可以支持的語言。主要的 highlight.min.js 包含了一些主流的語言,包括 C++、XML、Markdown、Java 等。如果需要一些其他的語言,則要另外引用該語言對應JS文件。

          Highlight.js 在瀏覽器中可以簡單的引用 CDN 來使用:

          <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.0/styles/default.min.css">
          <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.0/highlight.min.js"></script>

          示例

          Highlight.js 使用十分簡單,在引用了 CSS 和 JS 后,執(zhí)行

          hljs.initHighlightingOnLoad();

          Highlight.js就會自動查找網(wǎng)頁中以標簽 pre 和 code 所包裹的代碼

          <pre><code>...</code></pre>

          并自動檢測代碼語言,進行高亮渲染。我們也可以為 code 標簽添加語言名稱的 class,來顯式地標明代碼語言。我們可以看一個使用示例,注意實際代碼中尖括號等 HTML 轉(zhuǎn)義字符需要進行轉(zhuǎn)義處理:

          <html>
          <head>
            <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.0/styles/monokai-sublime.min.css">
            <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.0/highlight.min.js"></script>
          </head>
          <body>
            <pre><code class="cpp">#include <iostream>
          
          int main(int argc, char *argv[]) {
          
              /* An annoying "Hello World" example */
              for (auto i=0; i < 0xFFFF; i++)
                  cout << "Hello, World!" << endl;
          
              char c='\n';
              unordered_map <string, vector<string> > m;
              m["key"]="\\\\"; // this is an error
          
              return -2e3 + 12l;
          }
            </code></pre>
            <script>
              hljs.initHighlightingOnLoad();
            </script>
          </body>
          </html>

          該網(wǎng)頁對于 C++ 語言片段使用了 Monokai Sublime 主題進行了語法高亮渲染:

          使用Highlight.js渲染C++代碼

          可以看到,包括關鍵字、注釋和字面值等都有了不同顏色的渲染,輸出十分美觀。以下則是使 Dracula 主題對 Javascript 代碼渲染的例子:

          使用Highlight.js渲染Javascript代碼

          我們也可以不使用 pre 和 code 標簽來包裹代碼,改為使用自定義的容器,使用時需要注意換行和等寬字體的問題。

          document.querySelectorAll('div.code').forEach((block)=> {
            hljs.highlightBlock(block);
          });

          在渲染大量代碼時,為避免瀏覽器卡死,可以使用 Web Worker 來在后臺進行渲染:

          // index.html
          addEventListener('load', ()=> {
            const code=document.querySelector('#code');
            const worker=new Worker('worker.js');    // 新建Worker
            worker.onmessage=(event)=> { code.innerHTML=event.data; }    // 接受渲染后的HTML
            worker.postMessage(code.textContent);    // 傳遞代碼
          });
          // worker.js
          onmessage=(event)=> {
            importScripts('<path>/highlight.min.js');
            const result=self.hljs.highlightAuto(event.data);    // 高亮渲染
            postMessage(result.value);    // 返回HTML
          };

          總結(jié)

          Highlight.js 使得在前端頁面進行語法高亮變得十分方便,為在網(wǎng)頁顯示的代碼增添了顏色和生機。

          Highlight.js 文檔詳盡,設計簡潔,為編寫新的語言支持和配色方案提供了很大支持,定制化能力和可擴展性極強。Highlight.js 的代碼包含了對于各種語言的語法解析,和不同配色方案的設計,對于對編程語言和語法高亮領域感興趣的開發(fā)者是一座珍貴的寶庫。

          者:前端藏經(jīng)閣

          轉(zhuǎn)發(fā)鏈接:https://www.yuque.com/xwifrr/qbgcq0/vkczro

          x01前言

          很久沒有日站了,最近都在擼代碼,所以這次就拿了個站練了練了手,那個站的內(nèi)容是初高中生最怕的東西了,我有義務去消滅這玩意

          0x02尋找漏洞

          首先看到這里,我第一反應就是檢查有沒有保留xss

          在詳細地址那里加上一段簡單的xss代碼

          <script>alert(/xss/)</script>

          保存

          可是保存后可是并沒有彈框,用firebug看看是不是過濾

          看上去好像沒有過濾,但是這樣子并不能知道到底是不是被轉(zhuǎn)義了

          右鍵,點擊編輯html

          看到尖括號都被轉(zhuǎn)義了,所以這是沒有xss

          只能看看其他地方能不能有xss

          我抱著試試的心情去昵稱那里,在那里加上alert

          仍然跟之前一樣

          就是不知道會不會出現(xiàn)這種情況

          https://bbs.ichunqiu.com/thread-19497-1-1.html

          我就去個人首頁看了下

          成功彈窗

          0x03利用漏洞

          既然有xss,那應該去釣cookie才對,可是釣個人用戶完全沒用啊

          不知道能不能掉到后臺

          我就去翻看這個網(wǎng)站的功能

          看看有沒有和后臺可以互動的地方

          讀者問答看看是讀者和讀者之間的問答,還是讀者去問后臺管理

          看了一下里面的內(nèi)容,80%是和后臺管理互動的

          既然這樣我也去提問

          只不過加上了一串js代碼,xss平臺用來盜取cookie

          提交過去,就等cookie了

          0x04拿到cookie

          過了好幾天,一個短信發(fā)過來,上面的內(nèi)容是如何把英語學好

          我就突然想到我在那個網(wǎng)站打了xss

          趕快打開我的xss平臺,看看有沒有cookie

          拿到cookie和后臺,看來是有xss了

          接下來就嘿嘿嘿了

          先訪問后臺頁面

          然后打開burpsuite進行攔包

          把cookie改為admin的cookie,然后進行訪問

          可是結(jié)果

          沒有進入后臺

          我這就納悶了,怎么進不去呢

          我在觀察了一下數(shù)據(jù)包

          發(fā)現(xiàn)了一個嚴重的問題

          看到綠色箭頭指的那里

          為什么我要加上一個文件名呢?又沒說他一定會跳轉(zhuǎn)

          果斷去掉文件名

          好,看看這樣能不能進去

          按下forward

          看著頁面

          好進去了

          看看了他的功能

          看著他的功能,我不禁在心里說了一句mmp

          這時我有一個猜想,我既然是在這里打的cookie

          那這個人的權限應該也就這些了

          我就想著能不能拿下其他人的權限

          0x05拿下更高管理權限

          我就琢磨著更高權限可以干什么

          這個網(wǎng)站有一個購買書的功能

          那管理這里的人應該更牛逼

          我就想著能和這些人互動的辦法有哪些

          看來只能去買書了

          這樣后臺才能看到

          由于我就下訂單

          在詳細地址那里打上js

          然后只能花上15塊錢買了這本破書了(包括路費)

          如果不能拿到cookie,我就f**k了

          購買以后

          我就等著cookie,第二天,打開xss平臺,出現(xiàn)一條cookie

          有可能這就是控制買書的

          拿著這個cookie用同樣的方法進入后臺

          看著這個功能

          2333果然不一樣

          歡迎各位小伙伴私信群號,一起進群交流


          主站蜘蛛池模板: a级午夜毛片免费一区二区| av在线亚洲欧洲日产一区二区| 韩国一区二区三区| A国产一区二区免费入口| 麻豆果冻传媒2021精品传媒一区下载| 日本精品夜色视频一区二区| 亚洲一区二区三区高清在线观看| 丰满人妻一区二区三区视频53| 久久精品无码一区二区三区不卡| 日韩精品人妻一区二区中文八零| 国产精品美女一区二区| 伊人久久精品无码麻豆一区 | 亚洲av片一区二区三区| 精品国产一区二区三区久| 3D动漫精品啪啪一区二区下载| 人妻少妇精品视频一区二区三区 | 少妇人妻精品一区二区三区| 国产伦一区二区三区高清 | 一区二区三区久久精品| 日本精品少妇一区二区三区| 视频一区视频二区制服丝袜| 国产在线第一区二区三区| 色一情一乱一伦一区二区三欧美| 人妻少妇精品视频一区二区三区 | 国产激情一区二区三区小说| 综合一区自拍亚洲综合图区| 国产精品无码亚洲一区二区三区| 日韩在线一区高清在线| 午夜一区二区在线观看| 精品在线一区二区| A国产一区二区免费入口| 亚洲午夜福利AV一区二区无码| 中文字幕VA一区二区三区| 国产成人一区二区三区视频免费| 无码国产精品一区二区免费vr| 在线视频一区二区三区| 国产精品538一区二区在线| 国产激情一区二区三区 | 亚洲V无码一区二区三区四区观看| 日韩一区二区在线观看视频| 亚洲丰满熟女一区二区哦|