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 在线观看国产三级,自拍偷自拍亚洲精品情侣,91中文视频

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

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

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

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

          Highlight.js

          簡介

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

          highlight.js語法高亮庫

          安裝

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

          而 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就會自動查找網頁中以標簽 pre 和 code 所包裹的代碼

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

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

          <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>

          該網頁對于 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
          };

          總結

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

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

          者:前端藏經閣

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

          x01前言

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

          0x02尋找漏洞

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

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

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

          保存

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

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

          右鍵,點擊編輯html

          看到尖括號都被轉義了,所以這是沒有xss

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

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

          仍然跟之前一樣

          就是不知道會不會出現這種情況

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

          我就去個人首頁看了下

          成功彈窗

          0x03利用漏洞

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

          不知道能不能掉到后臺

          我就去翻看這個網站的功能

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

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

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

          既然這樣我也去提問

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

          提交過去,就等cookie了

          0x04拿到cookie

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

          我就突然想到我在那個網站打了xss

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

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

          接下來就嘿嘿嘿了

          先訪問后臺頁面

          然后打開burpsuite進行攔包

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

          可是結果

          沒有進入后臺

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

          我在觀察了一下數據包

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

          看到綠色箭頭指的那里

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

          果斷去掉文件名

          好,看看這樣能不能進去

          按下forward

          看著頁面

          好進去了

          看看了他的功能

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

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

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

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

          0x05拿下更高管理權限

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

          這個網站有一個購買書的功能

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

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

          看來只能去買書了

          這樣后臺才能看到

          由于我就下訂單

          在詳細地址那里打上js

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

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

          購買以后

          我就等著cookie,第二天,打開xss平臺,出現一條cookie

          有可能這就是控制買書的

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

          看著這個功能

          2333果然不一樣

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


          主站蜘蛛池模板: 国产精品免费大片一区二区| 日韩一区二区三区无码影院| 无码精品黑人一区二区三区 | 色一乱一伦一区一直爽| 人妻少妇AV无码一区二区| 成人毛片一区二区| 国产午夜精品片一区二区三区| 国产在线精品一区二区不卡| 美女视频黄a视频全免费网站一区| 久久精品一区二区三区四区 | 成人区精品一区二区不卡亚洲| 久久国产精品免费一区二区三区| 免费精品一区二区三区在线观看| 亚洲一区免费在线观看| 精品国产免费一区二区三区香蕉| 精品乱码一区二区三区在线| 无码人妻精品一区二区三区9厂 | 无码欧精品亚洲日韩一区夜夜嗨| 亚洲视频一区二区三区四区| 国产精品日本一区二区不卡视频| 中文国产成人精品久久一区| 一区二区视频免费观看| 国产免费播放一区二区| 国产成人精品一区在线 | 亚洲日韩精品一区二区三区| 一区二区在线免费视频| 无码日韩精品一区二区人妻| 国产一区二区免费在线| 日韩精品一区二三区中文 | 中文字幕精品一区二区三区视频| 一区二区三区四区视频在线| 精品一区二区三区AV天堂| 立川理惠在线播放一区| 一区二区三区在线|日本| 中文字幕日本精品一区二区三区| 亚洲AV综合色区无码一区| 无码日韩精品一区二区免费暖暖| 精品无码成人片一区二区98| 亚洲无码一区二区三区| 欧洲精品一区二区三区| 一区二区三区在线|