草庐IT

HtmlSpecialChars

全部标签

php - 使用 htmlspecialchars 而不是编码 & 是否存在安全漏洞?

我目前在我的一个项目中使用以下行:htmlspecialchars($value,ENT_QUOTES,'UTF-8');因此它编码&,',",。我的问题是(由于某些内部编码原因,我正在考虑)不编码&有任何安全风险吗?因此,如果使用以下行会产生安全风险/泄漏:$value=str_replace('&','&',$value);对于,',"我很清楚为什么要对它们进行编码,因为它们可以用于html注入(inject)。但是&我没有看到任何原因(我也没有发现任何特殊的原因到目前为止的原因)。编辑:因为多次提到数据库访问。我在那里使用带有参数的学说,...所以数据库应该(相对)从SQ

php - htmlspecialchars() 应该用于输入信息还是输出之前?

我获取$_POST信息并将其存储在数据库中,稍后查询并将此信息打印给用户。我应该在插入此信息之前使用htmlspecialchars()还是在查询它之后再输出它?此外,我需要让用户能够使用引号和其他日常特殊字符。我知道我可以使用标志ENT_NOQUOTES但感觉如果我这样做会留下安全漏洞。我的网站允许使用Bbcode,我希望用户能够使用日常字符而不必看到“amp;lt;&”。耐心等待我 最佳答案 ShouldIusehtmlspecialchars()beforeinsertingthisinfoorafterIqueryitbef

php - htmlspecialchars 正在删除字符

我正在尝试使用htmlspecialchars但它似乎不起作用。我正在使用OSX10.9.1和PHP5.4.17。我写:var_dump(htmlspecialchars("Test",ENT_QUOTES,'UTF-8'));echohtmlspecialchars("Test",ENT_XHTML,'UTF-8');并得到:string'<ahref='test'>Test</a>'(length=45)Test有什么想法吗? 最佳答案 它有效,但您期望其他东西。输出由您的浏览器解释为

php - htmlspecialchars 是否足以防止对用单引号引起来的变量进行 SQL 注入(inject)?

尽管许多来源引用带有ENT_QUOTES的htmlspecialchars函数不足以防止SQL注入(inject),但它们都没有提供证明概念。我自己想不出任何可能性。让我们考虑以下示例:$username=htmlspecialchars($_GET['name'],ENT_QUOTES,'UTF-8');$sql="SELECT*fromuserWHEREname='$username'";mysql_query($sql,...);除了SQLinjectiongetsaroundmysql_real_escape_string()的情况之外,任何人都可以提供一个例子吗??

php - 考虑功能的字符集从 PHP5.2 更改为 PHP5.4

将文件保存为ISO-8859-1并使用命令时echo"test:".htmlspecialchars("äöü");返回只会是“test:”。这是因为htmlspecialchars的标准字符集在PHP5.4中更改为UTF-8。您需要显式设置字符集:echo"test:".htmlspecialchars("äöü",ENT_COMPAT|ENT_HTML401,'ISO-8859-1');PHP5.4中是否还有其他功能,如果不设置字符集将无法正常工作? 最佳答案 htmlentities似乎是另一个被改变的函数:http://de

php - 有没有办法在不先创建我自己的函数的情况下将参数发送到回调函数?

我有一组值,我想通过htmlspecialchars运行这些值,但带有如下参数:$param=htmlspecialchars($param,ENT_QUOTES);问题是,我有一组值,我想在这些值上运行htmlspecialchars:$array=array_map('htmlspecialchars',$array);我想知道是否有办法将ENT_QUOTES传递到array_map回调中?我总是可以使用我自己的函数,它使用htmlspecialchars,但如果已经有办法做到这一点就好了。在下面的答案之后,这是我的最终结果:$array=array_map('htmlspecia

php - htmlspecialchars 符号

__('Details&Documents')?>上面的打印输出为:Details&文档什么是正确的语法才能打印为:Details&Documents?谢谢 最佳答案 html_entity_decode应该做你想做的:__('Details&Documents'))?>尽管可能有针对此的Magento特定设置。 关于php-htmlspecialchars符号,我们在StackOverflow上找到一个类似的问题: https://stackoverflow

php - UTF-8 : successful conversion to iso-8859-1 but not to iso-8859-2

我在MSAccess上有一个数据库,我通过调用PDO和odbc驱动程序将其与PHP一起使用。我的数据库中有法语、丹麦语和波兰语单词。法语和丹麦语没问题,但波兰语字符没办法,我只得到“?”相反。代码如下:try{$db=newPDO("odbc:DRIVER={MicrosoftAccessDriver(*.mdb,*.accdb)};DBQ=$dbName;Uid=Admin;Pwd=;");}catch(PDOException$e){echo$e->getMessage();}$answer=$db->query("SELECT*FROMdict_mainWHEREIDfetch(

java - 如何使用java转换特殊字符?

我有这样的字符串:Avery®Laser&InkjetSelf-Adhesive我需要将它们转换成AveryLaser&InkjetSelf-Adhesive.即删除特殊字符并将html特殊字符转换为常规字符。 最佳答案 Avery®Laser&InkjetSelf-AdhesiveFirstuseStringEscapeUtils#unescapeHtml4()(or#unescapeXml(),dependingontheoriginalformat)tounescapethe&intoa&.Then

C++ tolower 特殊字符,如 ü

我在使用C++中的tolower()函数将字符串转换为小写时遇到问题。对于普通字符串,它按预期工作,但特殊字符未成功转换。我如何使用我的函数:stringNotLowerCase="Grüßen";stringLowerCase="";for(unsignedinti=0;i例如:测试->测试测试2->测试2Grüßen->gr????en(§)->()如您所见,3和4未按预期工作我该如何解决这个问题?我必须保留特殊字符,但小写。 最佳答案 示例代码(下方)来自tolower显示你如何解决这个问题;您必须使用默认“C”语言环境以外的