如何将html显示为文本?

时间:2018-11-16 18:45:24

标签: javascript html css apache

我有一个网站,任何人都可以将他们想要的任何内容上传到我的网站,我在上载网上诱骗html的人时遇到了问题,我想将html页面显示为文本而不是加载它,但是我没有确定我会怎么做?我以为它可以在htaccess中完成,但是我找不到任何信息。我正在使用Ubuntu和Apache。当有人上传html文件时,我需要使该过程自动化,我只需要在一个目录中禁用html,并且该目录不会与任何应该正常显示的html文件共享

4 个答案:

答案 0 :(得分:1)

您可以使用Content-Type: text/plain; charset=UTF-8标头发送它。

.htaccess

AddType text/plain html

答案 1 :(得分:0)

也许使用此功能:

function htmlEntities(str) {
    return String(str).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
}

来源:https://css-tricks.com/snippets/javascript/htmlentities-for-javascript/

答案 2 :(得分:0)

方法1

在目录中创建一个.htaccess文件,并添加以下行:

[Apache2 @ Ubuntu / Debian:使用此指令]

AddType application/plain .html .htm

以上内容将拦截并处理您目录中的所有html页面,使其作为纯文本文件运行。

方法2

或者,您可以运行一个单独的进程,该进程接受传入的html页面并在运行时执行到纯文本的转换。字符串替换方法可以解决问题。

答案 3 :(得分:0)

<xmp> 
 user content here
<xmp>

<xmp>元素已过时,但行为已在HTML5中定义。
所有现代和不现代的浏览器均支持该元素。

,或者,如果您希望使用有效的HTML,则可以这样做:

<body>
<script type=text/plain style=display:block>
 user content here 
</script>

您必须确保用户内容中不包含</xmp></script>