jjzjj

htmlEntities

全部标签

php - 在 htmlentities 中使用 php 5.4 的新常量 ENT_DISALLOWED

我试图以html编码的方式输出一个字符串,并且htmlentities()function总是返回一个空字符串。我很清楚为什么会这样。好吧,我没有运行PHP5.4我安装了最新的PHP5.3版本。问题是我将如何对具有无效代码单元序列的字符串进行htmlencode。根据手册,ENT_SUBSTITUTE是要走的路。但是这个常量在PHP5.3.X中没有定义。我这样做了:if(!defined('ENT_SUBSTITUTE')){define('ENT_SUBSTITUTE',8);}仍然没有运气。htmlentities仍然返回空字符串。我想试试ENT_DISALLOWED,但找不到它对

PHP 安全性(strip_tags、htmlentities)

我在个人项目中工作,除了使用准备好的语句外,我还想将每个输入都用作威胁。为此,我做了一个简单的函数。functionclean($input){if(is_array($input)){foreach($inputas$key=>$val){$output[$key]=clean($val);}}else{$output=(string)$input;if(get_magic_quotes_gpc()){$output=stripslashes($output);}$output=htmlentities($output,ENT_QUOTES,'UTF-8');}return$outp

php - 使用 urlencode 删除 htmlentities 并仅保留文本和空格

我正在使用以下脚本创建一个SEO友好的url;str_replace("%2F","+",urlencode(@mynameis'JaySmoke'andIlove(Stackoverflow)))当我检查生成的地址时,它给了我以下内容;%40mynameis+%27JaySmoke%27+and+I+love+%28Stackoverflow%29如您所见,urlencode还对htmlentities进行了编码,我想知道是否有办法告诉它忽略所有htmlentities,只对空格和文本进行编码;myname+is+JaySmoke+and+I+love+Stackoverflow

php - URL + html实体?怎么想这个?

我在另一个与urlencode()相关的论坛上问了一个问题,当时有人轻快地说绝对需要在它上面使用htmlentities,还建议我每次写URL时都应该这样做。“他说是有效和安全的”。我不明白为什么这可能是一个安全问题。这是他提到的代码:echo'';PHP手册确实提到了htmlentities。但是没有进一步的解释:Note...PHPsupportschangingtheargumentseparatortotheW3C-suggestedsemi-colonthroughthearg_separator.inidirective.Unfortunatelymostuseragent

php - 如何在 php 中为 htmlentities() 函数默认设置 ENT_QUOTES 标志

我在显示之前对从数据库中获取的任何数据使用htmlentities($data,ENT_QUOTES)。有没有办法为htmlentities()函数默认设置标志ENT_QUOTES,这样即使我写htmlentities($data)它应该像htmlentities($data,ENT_QUOTES)一样工作。如php文档中所写,默认为ENT_COMPAT|ENT_HTML401.供您引用,我使用的是codeigniter框架php5。更新1:按照Michael的建议用自定义函数包装可能会有所帮助,但我已经在没有ENT_QUOTES标志的网站上到处使用它,并且想知道php是否提供了一种方

php - 不是 XSS 漏洞的 UTF-8 字符

我正在研究编码字符串以防止XSS攻击。现在我们想使用白名单方法,白名单之外的任何字符都将被编码。现在,我们正在使用“(”之类的东西并输出“(”。据我们所知,这将阻止大多数XSS。问题是我们有很多国际用户,当整个站点都是日文时,编码就成了主要的带宽消耗。可以肯定地说,基本ASCII集之外的任何字符都不是漏洞,它们不需要编码,还是ASCII集之外的字符仍然需要编码? 最佳答案 如果你只是将编码传递给htmlentities()可能会(很多)容易/htmlspecialcharsechohtmlspecialchars($string,E

php - htmlentities 不适用于表情符号

我正在尝试显示字符html实体echohtmlentities(htmlentities("&"));//outputs&echohtmlentities(htmlentities("但它似乎不适用于表情符号echohtmlentities(htmlentities("?"));//outputs?如何让它输出😎?编辑:我正在尝试显示用户输入的所有html实体都已编码的字符串。echohtmlentities(htmlentities($input))例子:"this&that?"->"this&that😎" 最佳答案 这适

php - htmlentities 和 é (e acute)

我在使用PHP的htmlentities和é字符时遇到了问题。我知道我只是忽略了某种编码问题,所以希望有人能看到我做错了什么。直接运行htmlentities("é")不会按预期返回正确的代码(é或é.我试过将字符集强制为“UTF-8”(使用htmlentities的字符集参数),但结果是一样的。最终目标是在以“ISO-8859-1”编码的HTML电子邮件中发送此字符。当我尝试将其强制转换为该编码时,同样的问题。在电子邮件的源代码中,您会看到é,而在HTMLView中,您会看到É。谁能指出我的错误? 最佳答案 //Iassumeth

php - 如何将 XML 字符串回显到 HTML 页面以进行调试?

好吧,我有一个php脚本,我需要以某种方式查看我的一个变量的值。关键是这个变量是从服务器返回的很长的XML字符串。我知道它有一条错误消息,但我需要实际查看它在说什么。如果我尝试打印或回显该值,它只显示后跟一个...的部分,或者如果我使用var_dump,它也会执行相同的操作。我什至尝试用该值回显javascript警报,但失败了,因为xml中存在单引号和双引号,导致无法正确识别警报引号。我只需要查看此变量的值。有什么建议吗?谢谢。编辑:其实说错了。Echo和print无法正确显示值,因为标签位于括号中,因此它被识别为html标签。 最佳答案

PHP htmlentities 不足以阻止黑客从表单中注入(inject) html

我有一个带有文本框的表单,该表单将数据发布到一个php文件,该文件使用“htmlentities”函数来安全地向网站所有者发送电子邮件。问题是有人设法获得文本中的超链接,而htmlentities()没有删除它。这是我的文本框html:这是我接收发布数据的PHP代码(我省略了电子邮件代码,因为这不是问题所在。我将其更改为只回显接收到的数据,这样我就可以尝试复制黑客所做的事情。如果我知道怎么做他做到了,我可以找到一种方法来阻止它发生):echotrim(htmlentities($_POST["usertext"],ENT_QUOTES));现在黑客发送了一些数据,结果是html(源代码