问题标签 [htmlspecialchars]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Textarea文件编辑php
我有一个用于编辑文件、html、php 等的 PHP 脚本。
它正在完整地工作,除了当您输入 textarea 表单字段时,例如:
特殊字符会自动转换为空格和 & 符号。
但是文件编辑器的目的是准确输入您需要的内容并显示出来,因为 html 代码可能必须以实体形式编写,也可能不必编写,我不希望它们自动转换为非实体形式。htmlspecialchars 或 htmlentities 不起作用,因为整个文档都被转换为特殊字符
使用 htmlspecialchars 时的文档视图源是:
然后在浏览器中输出为:
我有这个唯一的困境。如果只是简单地从处理 post 数据中删除 htmlspecialchars,那么,除了 html 实体会自动转换为可读形式之外,一切都可以正常工作, 到空间和& 与 &
有任何想法吗?我知道 cPanel 在他们的文件编辑器、net2ftp 和许多其他基于 Web 的文件文本编辑器中设法做到了这一点。
谢谢
xss - 处理 htmlescape/htmlspecialchars
为了防止 XSS,每当您输出回用户输入时(就像您在显示输入错误或使用先前提交的值重新绘制表单时所做的那样),您确实需要转义 html。这是肯定的...
所以,做类似的事情
是不对的。
相反,我们会这样做。
考虑到这一点,我的问题来了;当 $_GET['company_name'] 需要显示在它开始的文本框中时,你会怎么做?也许您希望您的用户更正该 company_name 只是因为它太长了?
如果您要使用 htmlspecialchars,并且如果 company_name 是 AT&T,则 & 将转义并显示为 & amp; 不是吗?
那么我们该如何应对这种情况呢?当然,有人可能会说,那就不要htmlspecialchar了,直接返回就行了?
但随后有人可能会向我们发送一个精心设计的 company_name,以阻止文本框启动 javascript onclick 并从那里执行 XSS。
在这些情况下,您如何处理 htmlescape?只需使用 history.go(-1)?
php - 替换为 HTML 实体的字符重新出现
我在做一个简单的str_replace
.
我正在尝试从字符串中删除所有逗号,这确实有效。但是当我再次尝试更改字符串时,逗号会以某种方式重新出现。我重构了我的代码以确保我没有导致这种情况。
无论如何,这是我的代码。任何人都可以发现错误吗?
就像我的字符串以某种方式未转换。我会说很可能是我把名字弄混了,然后用第一个字符串来制作最后一个。但可惜我可以看到情况并非如此。
php - PHP 阻止 htmlspecialchars 转换 URL 中的数字
我有这个 url,我需要将它传递给浏览器并想对其进行编码。但是,我在 url 字符串中有数字,这些数字也会被转换,从而导致问题。
这是我的字符串。
如果我使用 htmlspecialchars,它会将 132 转换为 100,这是错误的。如何防止这种情况?
更新:也许我应该提到我的字符串看起来像那样,因为我使用的是 timthumb 脚本。
另外我什至不确定我是否需要编码任何东西?还是我提供的 URL 安全?
php - Html special chars
I am using php. I have a problem with special chars. I have a word for example it's. When i do encode in php side with
it is returning it's
it is correct but browser does not decode it. So in browser it the same. Why does not browser decode that?
thanks
php - 在将用户输入存储到数据库之前对其进行转义/编码或者将其存储在数据库中并在检索时对其进行转义是否更好?
我正在使用htmlspecialchars()
功能来防止 XSS 攻击。我对以下将数据存储在数据库中的更好方法表示怀疑。
方法一:应用函数后存储用户输入值htmlspecialchars()
。使用它,用户输入"<script>"
将变为“<script>” .
方法2:按原样存储用户输入并htmlspecialchars()
在检索数据并将其显示在页面上时应用方法。
我怀疑的原因是我相信使用方法1会有数据库开销,而使用方法2数据需要在通过php请求时一次又一次地转换。所以我不确定哪个更好。
有关更多信息,我正在使用htmlspecialchars($val, ENT_QUOTES, "UTF-8")
它来转换 ' 和 " 。
请帮助我清除我的疑问。如果可能,也提供解释。
谢谢。
c# - 在 CKEditor 和 ASP.NET 4 上上传图片,响应上传 iframe 错误
我正在使用带有上传图像选项的 CKEditor 所见即所得编辑器。我通过设置“filebrowserUploadUrl”设置属性来设置 JS。我写了一些代码来处理上传,这一切都很好。当我尝试将响应发送回 CKEditor 上传 iframe 时,问题就出现了。我只是想用这行 JS 发回一个 JS 脚本标签:
这应该做的是填充 URL 字段并在图像弹出窗口的图像信息选项卡上显示图像的预览。这不起作用,如果我在“上传”选项卡上查看 iframe 的源代码,则 JS 脚本标记被编码,它看起来像这样:
我正在使用:
我也试过
写出js标签字符串。
我不认为这是 Response.Write() 的正常行为,但它可能在其他地方被编码。
任何线索为什么这个字符串被编码?任何帮助在这里表示赞赏。
谢谢。伊恩
php - htmlentities 和 htmlspecialchars 拒绝处理字符串
自从上次在我的 Debian 机器上更新PHP5 5.4.0-3以来,我注意到一些页面有空字段,其中应该是来自 MySQL 数据库的文本。
我玩了一下,发现了问题。
奇怪的是,这是打印的内容:
但是如果我使用带有硬编码内容的 htmlentities -> htmlentities("test"); 它就像魅力一样。另外,如果我这样做:
它还说
但它变得陌生。如果我将 htmlentities 或 htmlspecialchars 与数据库中的任何其他变量一起使用,它就可以完美地工作。
这可能是什么原因?
php - 在 PHP 中将“%23”转换为“#”
网址:example.com/search :#searchWord
由于#
未发送到服务器,因此将其更改为%23
.
在我要显示的搜索页面中
结果:#searchWord
但我得到的是%23searchWord
。我试过了htmlspecialchars()
,但没有任何反应。
php - 在准备好的语句中使用 htmlspecialchars() 或 htmlentities()
我正在使用准备好的语句来存储、检索和更新数据库中的数据或从数据库中更新数据。如果我使用准备好的语句,是否需要使用 htmlspecialchars() 或 htmlentities()?
据我了解,插入数据时不需要使用 htmlspecialchars() ,它只涉及输出的 html ......
我有一种情况,我正在使用准备好的语句来存储来自注册表单的用户输入,如下所示:
我有另一个脚本在登录并在屏幕上显示他们的用户名时检索用户名和密码,如下所示:
我还将用户名放入 SESSION 并像这样回显会话:
在这个例子中,显示用户名时是否需要使用 htmlspecialchars() 或 htmlentities() ?这是输出HTML的意思吗?
如果是这样,我将在哪里实现 htmlspecialchars() 或 htmlentities()?