防止Javascript解码编码的HTML - php

首先,我要说Java语言不是我的强项,而我为获取有关此主题的信息所做的所有搜索都导致了如何处理url编码/解码字符串。

我在处理类似于以下内容的代码时遇到了麻烦:

<a href="#" onclick="<?php echo "alert(''');"; ?>">test</>

我希望由于传递给警报的值是url编码的,因此单击链接时,将显示一个警报框,其中包含值'

事实证明,由于它位于onclick的引号之间,因此浏览器在执行前会将'解码为单引号。基本上导致代码是alert(''');,显然很糟糕。

以下工作正常。

<script>alert(''');</script>

首先,是否有一种方法可以禁用此行为,或者有一个聪明的解决方法? (我猜不是)

我当前的解决方案是对html编码的字符串进行解码,对引号应用斜杠,然后对其进行重新编码。显然不是很优雅。

更好的解决方案将不胜感激。

参考方案

那是预期的行为。当浏览器解析属性时,将自动转换HTML源代码中的HTML实体。这使网站开发人员可以在不破坏页面的情况下在属性中包括特殊字符(例如引号)。

使用htmlspecialchars获得所需的效果:

<a href="#" onclick="<?php echo htmlspecialchars("alert(''');"); ?>">test</a>

如果我得到url(''),我该如何使用另一个URL - javascript

我是新手,正在写这篇文章,但是如果源上没有图像,那么我只有空白。有人可以告诉我,如果我正在获取背景图像,如何获取/images/no-image.jpg:url();这是我的代码:<div class="uk-clearfix uk-position-relative"> <div class="recipeb…

PHP:将数组值加在一起 - php

我相信这比标题听起来要难一些,但我可能完全错了。我有一个像这样的数组:[["londrina",15],["cascavel",34],["londrina",23],['tiradentes',34],['tiradentes',21]] 我希望能够采用通用…

PHP JQuery复选框 - php

我有以下片段。 var myData = { video: $("input[name='video[]']:checked").serialize(), sinopse: $("#sinopse").val(), dia: $("#dia").val(), quem: $(&#…

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00�…

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…