zoukankan      html  css  js  c++  java
  • Rails sanitize

    The SanitizeHelper module provides a set of methods for scrubbing text of undesired HTML elements. These helper methods extend Action View making them callable within your template files.

    只允许 sanitize 方法中指定的标签和属性输出到页面,防止注入 

    sanitize(html, options = {})

    Sanitizes HTML input, stripping all tags and attributes that aren't whitelisted.

    It also strips href/src attributes with unsafe protocols like javascript:, while also protecting against attempts to use Unicode, ASCII, and hex character references to work around these protocol filters.

    The default sanitizer is Rails::Html::WhiteListSanitizer. See Rails HTML Sanitizers for more information.

    Custom sanitization rules can also be provided.

    Please note that sanitizing user-provided text does not guarantee that the resulting markup is valid or even well-formed. For example, the output may still contain unescaped characters like <>, or &.

    • :tags - An array of allowed tags.

    • :attributes - An array of allowed attributes.

    • :scrubber - A Rails::Html scrubber or Loofah::Scrubber object that defines custom sanitization rules. A custom scrubber takes precedence over custom tags and attributes.

    module AnnouncementsHelper
      def safe_content(content)
        sanitize(content, tags: %w(b br))
      end
    end
    <p>
      <strong><%= t 'content' %></strong>
      <%= safe_content @announcement.content %>
    </p>


    http://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html

  • 相关阅读:
    节点树状图
    获取元素的方法
    Client Scroll Offset
    函数封装
    js和jq文档操作
    HashSet与HashMap的区别
    java中Map及Map.Entry详解
    SpringBoot教程(学习资源)
    java线程同步以及对象锁和类锁解析(多线程synchronized关键字)
    vue路由监听和参数监听
  • 原文地址:https://www.cnblogs.com/iwangzheng/p/6180124.html
Copyright © 2011-2022 走看看