V-html có an toàn không

Gói npm vue-safe-html nhận được tổng cộng 3.288 lượt tải xuống mỗi tuần. Do đó, chúng tôi đã chấm điểm mức độ phổ biến của vue-safe-html là Nhỏ

Dựa trên số liệu thống kê của dự án từ kho lưu trữ GitHub cho gói npm vue-safe-html, chúng tôi nhận thấy rằng nó đã được gắn dấu sao 18 lần và không có dự án nào khác trong hệ sinh thái phụ thuộc vào nó

Số lượt tải xuống được tính là trung bình động trong khoảng thời gian 12 tháng qua, không bao gồm các ngày cuối tuần và các điểm dữ liệu bị thiếu đã xác định

Vue. js để thêm các chỉ thị bảo mật HTML

////////// JS for Vue 2.x \\\\\\\\\\

import Vue from 'vue';
import VueSecureHTML from 'vue-html-secure';

Vue.use(VueSecureHTML);

// Optional
// Vue.prototype.$safeHTML = VueSecureHTML.safeHTML;
// Vue.prototype.$escapeHTML = VueSecureHTML.escapeHTML;
// Vue.prototype.$removeHTML = VueSecureHTML.removeHTML;

const App = new Vue({
    el: '#app',
    data() {
        return {
            message : "Hello  VUE",
        }
    },
});
4,
////////// JS for Vue 2.x \\\\\\\\\\

import Vue from 'vue';
import VueSecureHTML from 'vue-html-secure';

Vue.use(VueSecureHTML);

// Optional
// Vue.prototype.$safeHTML = VueSecureHTML.safeHTML;
// Vue.prototype.$escapeHTML = VueSecureHTML.escapeHTML;
// Vue.prototype.$removeHTML = VueSecureHTML.removeHTML;

const App = new Vue({
    el: '#app',
    data() {
        return {
            message : "Hello  VUE",
        }
    },
});
5,
////////// JS for Vue 2.x \\\\\\\\\\

import Vue from 'vue';
import VueSecureHTML from 'vue-html-secure';

Vue.use(VueSecureHTML);

// Optional
// Vue.prototype.$safeHTML = VueSecureHTML.safeHTML;
// Vue.prototype.$escapeHTML = VueSecureHTML.escapeHTML;
// Vue.prototype.$removeHTML = VueSecureHTML.removeHTML;

const App = new Vue({
    el: '#app',
    data() {
        return {
            message : "Hello  VUE",
        }
    },
});
6 là các lựa chọn thay thế an toàn cho
////////// JS for Vue 2.x \\\\\\\\\\

import Vue from 'vue';
import VueSecureHTML from 'vue-html-secure';

Vue.use(VueSecureHTML);

// Optional
// Vue.prototype.$safeHTML = VueSecureHTML.safeHTML;
// Vue.prototype.$escapeHTML = VueSecureHTML.escapeHTML;
// Vue.prototype.$removeHTML = VueSecureHTML.removeHTML;

const App = new Vue({
    el: '#app',
    data() {
        return {
            message : "Hello  VUE",
        }
    },
});
7 chính thức. Việc sử dụng
////////// JS for Vue 2.x \\\\\\\\\\

import Vue from 'vue';
import VueSecureHTML from 'vue-html-secure';

Vue.use(VueSecureHTML);

// Optional
// Vue.prototype.$safeHTML = VueSecureHTML.safeHTML;
// Vue.prototype.$escapeHTML = VueSecureHTML.escapeHTML;
// Vue.prototype.$removeHTML = VueSecureHTML.removeHTML;

const App = new Vue({
    el: '#app',
    data() {
        return {
            message : "Hello  VUE",
        }
    },
});
7 chính thức có thể dễ dàng dẫn đến các cuộc tấn công XSS và chỉ được sử dụng trên nội dung đáng tin cậy và không bao giờ trên nội dung do người dùng cung cấp. Hầu hết các thư viện JavaScript phổ biến để làm sạch chuỗi HTML đều quá lớn (từ vài trăm KB đến vài MB) với nhiều phụ thuộc. Plugin này rất nhẹ (chỉ có kích thước đóng gói 2kB) mà không cần phụ thuộc. Tính năng chính là bảo mật chuỗi HTML tránh tấn công XSS như
////////// JS for Vue 2.x \\\\\\\\\\

import Vue from 'vue';
import VueSecureHTML from 'vue-html-secure';

Vue.use(VueSecureHTML);

// Optional
// Vue.prototype.$safeHTML = VueSecureHTML.safeHTML;
// Vue.prototype.$escapeHTML = VueSecureHTML.escapeHTML;
// Vue.prototype.$removeHTML = VueSecureHTML.removeHTML;

const App = new Vue({
    el: '#app',
    data() {
        return {
            message : "Hello  VUE",
        }
    },
});
9 hay
////////// JS for Vue 3.x \\\\\\\\\\

import * as Vue from 'vue';
import VueSecureHTML from 'vue-html-secure';

const App = Vue.createApp({
    data() {
        return {
            message : "Hello  VUE",
        }
    },
});

// Optional
App.config.globalProperties.$safeHTML = VueSecureHTML.safeHTML;
App.config.globalProperties.$escapeHTML = VueSecureHTML.escapeHTML;
App.config.globalProperties.$removeHTML = VueSecureHTML.removeHTML;

App.use(VueSecureHTML);
App.mount('#app');
0

Cài đặt

Để cài đặt với npm hoặc sợi, hãy sử dụng

npm install --save vue-html-secure

// or

yarn add vue-html-secure

Chỉ thị và chức năng

v-html-an toàn=". " hoặc $safeHTML(. )

This leaves all HTML tags except for

v-html-thoát=". " hoặc $escapeHTML(. )

Điều này thay thế các ký tự

////////// JS for Vue 3.x \\\\\\\\\\

import * as Vue from 'vue';
import VueSecureHTML from 'vue-html-secure';

const App = Vue.createApp({
    data() {
        return {
            message : "Hello  VUE",
        }
    },
});

// Optional
App.config.globalProperties.$safeHTML = VueSecureHTML.safeHTML;
App.config.globalProperties.$escapeHTML = VueSecureHTML.escapeHTML;
App.config.globalProperties.$removeHTML = VueSecureHTML.removeHTML;

App.use(VueSecureHTML);
App.mount('#app');
1,
////////// JS for Vue 3.x \\\\\\\\\\

import * as Vue from 'vue';
import VueSecureHTML from 'vue-html-secure';

const App = Vue.createApp({
    data() {
        return {
            message : "Hello  VUE",
        }
    },
});

// Optional
App.config.globalProperties.$safeHTML = VueSecureHTML.safeHTML;
App.config.globalProperties.$escapeHTML = VueSecureHTML.escapeHTML;
App.config.globalProperties.$removeHTML = VueSecureHTML.removeHTML;

App.use(VueSecureHTML);
App.mount('#app');
2,
////////// JS for Vue 3.x \\\\\\\\\\

import * as Vue from 'vue';
import VueSecureHTML from 'vue-html-secure';

const App = Vue.createApp({
    data() {
        return {
            message : "Hello  VUE",
        }
    },
});

// Optional
App.config.globalProperties.$safeHTML = VueSecureHTML.safeHTML;
App.config.globalProperties.$escapeHTML = VueSecureHTML.escapeHTML;
App.config.globalProperties.$removeHTML = VueSecureHTML.removeHTML;

App.use(VueSecureHTML);
App.mount('#app');
3 thành các thực thể HTML thích hợp
////////// JS for Vue 3.x \\\\\\\\\\

import * as Vue from 'vue';
import VueSecureHTML from 'vue-html-secure';

const App = Vue.createApp({
    data() {
        return {
            message : "Hello  VUE",
        }
    },
});

// Optional
App.config.globalProperties.$safeHTML = VueSecureHTML.safeHTML;
App.config.globalProperties.$escapeHTML = VueSecureHTML.escapeHTML;
App.config.globalProperties.$removeHTML = VueSecureHTML.removeHTML;

App.use(VueSecureHTML);
App.mount('#app');
4,
////////// JS for Vue 3.x \\\\\\\\\\

import * as Vue from 'vue';
import VueSecureHTML from 'vue-html-secure';

const App = Vue.createApp({
    data() {
        return {
            message : "Hello  VUE",
        }
    },
});

// Optional
App.config.globalProperties.$safeHTML = VueSecureHTML.safeHTML;
App.config.globalProperties.$escapeHTML = VueSecureHTML.escapeHTML;
App.config.globalProperties.$removeHTML = VueSecureHTML.removeHTML;

App.use(VueSecureHTML);
App.mount('#app');
5,
////////// JS for Vue 3.x \\\\\\\\\\

import * as Vue from 'vue';
import VueSecureHTML from 'vue-html-secure';

const App = Vue.createApp({
    data() {
        return {
            message : "Hello  VUE",
        }
    },
});

// Optional
App.config.globalProperties.$safeHTML = VueSecureHTML.safeHTML;
App.config.globalProperties.$escapeHTML = VueSecureHTML.escapeHTML;
App.config.globalProperties.$removeHTML = VueSecureHTML.removeHTML;

App.use(VueSecureHTML);
App.mount('#app');
6. Điều này không thoát khỏi dấu ngoặc đơn hoặc dấu ngoặc kép cho việc sử dụng chuỗi trong thuộc tính HTML (nó không phải là mục đích của plugin này để làm điều đó). Lưu ý rằng trong trường hợp
////////// JS for Vue 2.x \\\\\\\\\\

import Vue from 'vue';
import VueSecureHTML from 'vue-html-secure';

Vue.use(VueSecureHTML);

// Optional
// Vue.prototype.$safeHTML = VueSecureHTML.safeHTML;
// Vue.prototype.$escapeHTML = VueSecureHTML.escapeHTML;
// Vue.prototype.$removeHTML = VueSecureHTML.removeHTML;

const App = new Vue({
    el: '#app',
    data() {
        return {
            message : "Hello  VUE",
        }
    },
});
5, bạn có thể trực tiếp sử dụng chính thức
////////// JS for Vue 3.x \\\\\\\\\\

import * as Vue from 'vue';
import VueSecureHTML from 'vue-html-secure';

const App = Vue.createApp({
    data() {
        return {
            message : "Hello  VUE",
        }
    },
});

// Optional
App.config.globalProperties.$safeHTML = VueSecureHTML.safeHTML;
App.config.globalProperties.$escapeHTML = VueSecureHTML.escapeHTML;
App.config.globalProperties.$removeHTML = VueSecureHTML.removeHTML;

App.use(VueSecureHTML);
App.mount('#app');
8, nhưng sử dụng chức năng có thể có ý nghĩa e. g.
////////// JS for Vue 3.x \\\\\\\\\\

import * as Vue from 'vue';
import VueSecureHTML from 'vue-html-secure';

const App = Vue.createApp({
    data() {
        return {
            message : "Hello  VUE",
        }
    },
});

// Optional
App.config.globalProperties.$safeHTML = VueSecureHTML.safeHTML;
App.config.globalProperties.$escapeHTML = VueSecureHTML.escapeHTML;
App.config.globalProperties.$removeHTML = VueSecureHTML.removeHTML;

App.use(VueSecureHTML);
App.mount('#app');
9

VHTML là gì?

Chỉ thị v-html là a Vue. chỉ thị js được sử dụng để cập nhật HTML bên trong của phần tử với dữ liệu của chúng tôi . Đây là những gì phân biệt nó với văn bản v, điều đó có nghĩa là trong khi văn bản v chấp nhận chuỗi và coi nó là một chuỗi, nó sẽ chấp nhận chuỗi và hiển thị nó thành HTML.

Vuejs có an toàn không?

JavaScript do người dùng cung cấp không bao giờ được coi là an toàn 100% trừ khi nó nằm trong iframe hộp cát hoặc trong một phần của ứng dụng mà chỉ người dùng đã viết JavaScript đó mới có thể tiếp xúc với nó. Sometimes we receive vulnerability reports on how it's possible to do cross-site scripting (XSS) in Vue templates.

Vue có dễ bị XSS không?

vue-devtools là một tiện ích mở rộng devtools điện tử để gỡ lỗi Vue. ứng dụng js. Các phiên bản bị ảnh hưởng của gói này dễ bị tấn công bởi Cross-site Scripting (XSS) thông qua chức năng toast trong devtools-background .

Vue có khử trùng HTML không?