我有一个网站,任何人都可以将他们想要的任何内容上传到我的网站,我在上载网上诱骗html的人时遇到了问题,我想将html页面显示为文本而不是加载它,但是我没有确定我会怎么做?我以为它可以在htaccess中完成,但是我找不到任何信息。我正在使用Ubuntu和Apache。当有人上传html文件时,我需要使该过程自动化,我只需要在一个目录中禁用html,并且该目录不会与任何应该正常显示的html文件共享
答案 0 :(得分:1)
您可以使用Content-Type: text/plain; charset=UTF-8
标头发送它。
.htaccess
:
AddType text/plain html
答案 1 :(得分:0)
也许使用此功能:
function htmlEntities(str) {
return String(str).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
}
来源:https://css-tricks.com/snippets/javascript/htmlentities-for-javascript/
答案 2 :(得分:0)
在目录中创建一个.htaccess文件,并添加以下行:
[Apache2 @ Ubuntu / Debian:使用此指令]
AddType application/plain .html .htm
以上内容将拦截并处理您目录中的所有html页面,使其作为纯文本文件运行。
或者,您可以运行一个单独的进程,该进程接受传入的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>
。