标签: html-encode

ASP.NET 4.0中HTML编码的<%:%>括号

我偶然发现这篇文章是关于ASP.NET 4.0中的一个新功能:这些新括号中的表达式<%: Content %>应该呈现为HTML编码.

我在FormView中的数据绑定标签中尝试过这样,如下所示:

<asp:Label ID="MyLabel" runat="server" Text='<%: Eval("MyTextProperty") %>' />
Run Code Online (Sandbox Code Playgroud)

但它不起作用:text属性包含脚本标记(用于测试),但输出为空.使用传统方式工作:

<asp:Label ID="MyLabel" runat="server"
    Text='<%# HttpUtility.HtmlEncode(Eval("MyTextProperty")) %>' />
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

(旁注:我太愚蠢了,找不到任何信息:谷歌拒绝搜索那个东西.MSDN上的VS2010在线帮助提供了很多点击,但没有任何与我的搜索有关.Dackoverflow搜索也是.而且我没有知道这些"事物"(我的意思是括号)是如何被正式称为具有更好的搜索词.)

欢迎任何信息和其他链接和资源!

提前致谢!

asp.net webforms html-encode .net-4.0

5
推荐指数
1
解决办法
3087
查看次数

在POST之前编码HTML

我有以下脚本,它编码它收到的一些值,但它似乎不编码双引号.

在发布之前如何正确编码完整值?

function htmlEncode(value){ 
    return $('<div/>').text(value).html(); 
} 
Run Code Online (Sandbox Code Playgroud)

上面的脚本给了我这个:

&lt;p&gt;Test&amp;nbsp; &lt;span style="color: #ffffff"&gt;&lt;strong&gt;&lt;span style="background-color: #ff0000"&gt;1+1+1=3&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
Run Code Online (Sandbox Code Playgroud)

我需要它给我这个:

&lt;p&gt;Test&amp;nbsp; &lt;span style=&quot;color: #ffffff&quot;&gt;&lt;strong&gt;&lt;span style=&quot;background-color: #ff0000&quot;&gt;1+1+1=3&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
Run Code Online (Sandbox Code Playgroud)

编辑:后续问题: 数据库中的编码HTML返回页面

html jquery post html-encode

5
推荐指数
2
解决办法
2万
查看次数

如何使用纯 JavaScript 或 jQuery 将 HTML 实体编号转换为字符?

我正在寻找一种使用纯 JavaScript 或 jQuery 将 HTML 实体编号转换为字符的方法。

例如,我有一个看起来像这样的字符串(谢谢你,jQuery!朋克。)

Range1&#45;of-5
Run Code Online (Sandbox Code Playgroud)

我需要的是:

Range1-of-5
Run Code Online (Sandbox Code Playgroud)

我找到了 String.fromCharCode() ,我可以在其中获取仅包含十进制值的字符,但我想在我重新发明轮子之前看看其他人是否有解决方案。:)

javascript jquery html-encode

5
推荐指数
3
解决办法
2918
查看次数

AllowHtml不适用于ASP.Net Mvc 3站点

我们尝试在我们的ViewModel属性上使用[AllowHtml]修饰,以便我们可以避免使用YSOD:

从客户端检测到潜在危险的Request.Form值(RequestText = "<br>").

当我们尝试提交html文本时,如:<br>.我们希望在控制器动作中使用Server.HtmlEncode来防止攻击,但是当我们用[AllowHtml]它来装饰属性没有任何影响时,如果我们尝试使用[ValidateInput(false)]控制器动作,它也没有任何效果.我们看到一个StackOverflow帖子说在MVC 3 RC2中你必须添加:

ModelMetadataProviders.Current = new DataAnnotationsModelMetadataProvider(); 到global.asax

我们也尝试过,即使我们使用的是MVC 3的发布版本,而不是RC2,但这也没有效果.有谁知道如何解决这一问题?

模型:

namespace UI.Models.ViewModel
{
    public class CustomerRequestSupport
    {
        /// <summary>
        /// Gets or Sets the textual description entered by the Customer for 
        /// the support requested.
        /// </summary>
        [AllowHtml]
        public string RequestText { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

控制器:

    [HttpPost]
    [TabsActionFilter]
    public ActionResult RequestSupport(CustomerRequestSupport collection)
    {
        if (ModelState.IsValid)
        {

            Ticket ticket = new Ticket();

            ticket.Requestor = LoggedInCustomer; …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc html-encode

5
推荐指数
2
解决办法
5194
查看次数

在自定义Python Markdown扩展的输出中禁用HTML编码

我一直致力于创建一个python markdown扩展,当使用自定义标记时,它将在我的django项目中插入一个图库.实际的扩展是有效的,但扩展返回的HTML都是编码的.这是我正在使用的扩展:

#!/usr/bin/env python
from django.template.loader import render_to_string
from main.models import *

import markdown

version = "0.1.0"

class GalleriaExtension(markdown.Extension):
    def __init__(self, configs):
        self.config = {
        }

        # Override defaults with user settings
        for key, value in configs:
            self.setConfig(key, value)

    def add_inline(self, md, name, klass, re):
        pattern = klass(re)
        pattern.md = md
        pattern.ext = self
        md.inlinePatterns.add(name, pattern, "<reference")

    def extendMarkdown(self, md, md_globals):
        self.add_inline(md, 'galleria', Galleria,
            r'\[\[(G|g)allery (?P<superpage_id>\w+)\]\]')

class Galleria(markdown.inlinepatterns.Pattern):
    def handleMatch(self, m):
        try:
            images = SuperPage.objects.get(id=m.group('superpage_id')).superpageimage_set.all()
        except:
            images = None
        if …
Run Code Online (Sandbox Code Playgroud)

python django markdown html-encode

5
推荐指数
1
解决办法
1102
查看次数

FPDF中的html_entity_decode(使用tFPDF扩展)

我正在使用tFPDF生成PDF.php文件是UTF-8编码的.&copy;例如,我希望在pdf中输出作为版权符号.

我已经试过iconv,html_entity_decode,htmlspecialchars_decode.当我接受字符串我试图解码并硬编码到一个不同的文件并解码它,它按预期工作.因此,由于某些原因,它不会在PDF中输出.我试过输出缓冲.我正在使用DejaVuSansCondensed.ttf(真实字体).

链接到tFPDF:http://fpdf.org/en/script/script92.php

我没有想法.我试过双重解码,我到处检查,以确保它没有在其他地方编码.

救命!

php pdf html-encode fpdf

5
推荐指数
1
解决办法
1万
查看次数

一些字符在POST期间编码而其他字符则不是

TL; DR

CodeIgniters的安全类直接操纵您的Globals $_POST,它会发现file()file ()成为威胁,因此HTML会对其进行编码.

// config.php from my apps folder is the culprit
$config['global_xss_filtering'] = TRUE;
Run Code Online (Sandbox Code Playgroud)

自己动手(少数人,勇敢者)

在CodeIgniter 2.1.4中,转到system/core/security.php#430-442行:

/*
* Sanitize naughty scripting elements
*
* Similar to above, only instead of looking for
* tags it looks for PHP and JavaScript commands
* that are disallowed.  Rather than removing the
* code, it simply converts the parenthesis to entities
* rendering the code un-executable.
*
* For example: …
Run Code Online (Sandbox Code Playgroud)

php forms xss codeigniter html-encode

5
推荐指数
1
解决办法
145
查看次数

C#ASP.NET MVC资源文件的字符串在HTML源代码中采用奇怪的编码格式

让我们看一个例子:有一个德语单词: Fußgängerübergänge

是)我有的:

  • web.config 文件:

    ...
    <system.web>
        <globalization
            fileEncoding="utf-8"
            requestEncoding="utf-8"
            responseEncoding="utf-8"
            culture="auto"
            uiCulture="auto"
        />
    ...
    
    Run Code Online (Sandbox Code Playgroud)
  • 包含此单词的资源文件:

    <?xml version="1.0" encoding="utf-8"?>
    <root>
        ...
        <data name="TestWord" xml:space="preserve">
            <value>Fußgängerübergänge</value>       
        </data>
        ...
    </root>
    
    Run Code Online (Sandbox Code Playgroud)
  • 一个html页面硬编码相同的单词并使用此资源来引用该单词并从DB中检索此单词:

    ...
    <head>
        <meta charset="utf-8">
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        ...
    </head>
    <body>
        <div>Fußgängerübergänge</div>
        <div>@Model.SameWordFromDbTable.TestWord</div>
        <div>@Resources.MyResource.TestWord</div>
        <div>@MvcHtmlString.Create(Resources.MyResource.TestWord)</div>
    </body>
    ...
    
    Run Code Online (Sandbox Code Playgroud)
  • 当我在网页的源代码中检查它们时,它们以两种不同的方式出现:

    ...
    <head>
        <meta charset="utf-8">
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        ...
    </head>
    <body>
        <div>Fußgängerübergänge</div>
        <div>Fußgängerübergänge</div>
        <div>Fu&#223;g&#228;nger&#252;berg&#228;nge</div>
        <div>Fu&#223;g&#228;nger&#252;berg&#228;nge</div>
    </body>
    ...
    
    Run Code Online (Sandbox Code Playgroud)

问题:我做错了什么,如何解决这个"编码"问题?如果希望源代码中的最后两个单词与前两个单词相同,我该怎么办?

c# asp.net asp.net-mvc html-encode character-encoding

5
推荐指数
1
解决办法
3211
查看次数

HTML编码无法正常使用URL

我正在尝试生成一个URL:

GET-IT-一起-斯塔夫罗斯 - Zenonos放大器; -Katerina柯视图模式= 0

在哪里可以看到"amp;" 之后网址没有生成

如下所示:

GET-IT-一起-斯塔夫罗斯 - Zenonos放大器

请参阅下面的代码,该代码生成URL

<a class="fb-xfbml-parse-ignore" href="https://twitter.com/intent/tweet?url=<%=HTMLEncode(CMS.DocumentEngine.DocumentContext.CurrentDocument.AbsoluteURL)%>" onClick="return popup(this, 'notes')">  
 <img src="<%# Eval("twittericon") %>" alt="twitter icon" />
</a>
Run Code Online (Sandbox Code Playgroud)

你能帮助我生成完整的URL吗?

html javascript jquery html-encode kentico

5
推荐指数
1
解决办法
562
查看次数

如何在PHP 5.3中将表情符号转换为它们各自的HTML代码实体?

我需要在PHP 5.3网站上将字符串中的表情符号(例如)转换为它们各自的HTML代码实体(例如&#128512;)。

我需要这样做,以便将用户输入正确存储在旧脚本MySQL数据库中,以便以后在显示给用户时正确显示。尝试直接从用户输入中保存表情符号时,它们被错误地保存为?数据库中的表情符号。该旧脚本utf8mb4在MySQL 中不支持(此解决方案失败),并且所有尝试转换其数据库,表和列的尝试utf8mb4没有 解决了这个问题,所以我剩下唯一可以确认的解决方案是将用户输入的Emojis转换为字符串形式的HTML代码实体,以将这些实体按原样正确存储在数据库中,以便在检索时将它们正确显示为Emojis。因为现代浏览器会自动将这些表情符号实体转换为表情符号字符。

我也尝试过此解决方案,但仅在5.4及更高版本中它不适用于PHP 5.3。(我无法在此特定站点上升级到5.4,因为它所依赖的旧脚本仅在5.3中可用,并且在任何情况下都不能更改或升级。)

我也尝试过此解决方案该解决方案可在PHP 5.3中使用,但是您不能将其仅作为特定的Emoji字符串提供给它,因此即使在PHP 5.3中也无法解决我的问题。

只需要将Emojis转换为字符串即可,别无其他。(但是,如果不可能,那么我想我可以将其他HTML实体与之一起使用,例如&to &amp;,但是我不希望这样)。

那么,如何在PHP 5.3中将字符串中的表情符号转换为它们各自的HTML代码实体,从而将类似的字符串this & that 转换为this & that &#128526;

php html-encode html-entities emoji php-5.3

5
推荐指数
1
解决办法
2602
查看次数