问题标签 [addslashes]
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 - 使用php和MySql处理单引号和双引号插入问题的简单有效方法是什么
我主要使用Php 5.4+ 和 MySql 5.5+ 版本。我在所有项目中都使用Codeigniter。
我面临的问题是
有时(在某些生产服务器上)当 POST 变量包含 ' 或
虽然 php 和 CI 有一个很好的工具来处理这些带有addlashes和mysql_escape_sequence等的字符串
为用户发布的每个可能的变量检查这些条件并不容易
每次我们必须使用addslashes Ex: It\'s 并且在给出输出时我们必须再次应用stripslashes 来输出It's。但是对于较大的值很难处理。
由于数据库将数据保存为它,因此很难搜索这些字符串。
经过几天的挣扎,我发现使用utf8mb4_general_ci优于utf8
因此,我确保 CI 的 Database.php 具有以下内容
我还将各个列的数据类型更改为“ LONGTEXT ”,并将其排序规则更改为“ utf8mb4_general_ci ”
令我惊讶的是,他们为一些服务器工作。
但仍然在某些服务器上,我发现了同样的问题。即使我确保服务器配置与那些工作服务器匹配,这也有点令人沮丧。
所有 php 和 mysql 开发人员如何使用此场景?你采取了哪些预防措施?
请推荐!!
php - 我应该在 GET 和 POST 请求中转义字符吗?
我刚刚读到 PHP 会自行转义传入的 GET 和 POST 请求一段时间。双重转义没有好处。我应该完全摆脱字符串吗?
例如,我处理这样一个简单的输入:
后来,当保存并从数据库中检索时,我用最后一个值填充输入,例如:
当有人在字段中输入引号时,它会返回类似这样的内容,这会破坏表单:
php - 绕过 htmlspecialchars(addslashes(input)) 进行 HTML/JavaScript 注入
假设一些 PHP 代码回显了通过首先应用addslashes()
然后再应用htmlspecialchars()
到 HTML 文档来清理的输入。我听说这是一种不安全的方法,但不知道为什么。
任何关于可以将哪种格式应用于危险输入(例如脚本标签中的 JavaScript)以绕过这两个函数强加的安全措施的任何建议都将不胜感激。
url-encoding - facebook共享链接的PHP转义引号和urlencode
我使用我网站上的 Facebook 共享链接在 Facebook 上发布文章。
对于某些链接,它有效,而对于其他链接,则无效。通过链接传递的标题和文本是法语(很多引号和特殊字符),处理链接的页面是 UTF8。
我成功地使所有 FB 链接工作,只需在对内容进行 urlencode 并从中创建链接之前使用“mysql_real_escape_string”。
为什么是“mysql_real_escape_string”?
这是一个测试,因为“htmlentities”、“htmlspecialchars”和“addslashes”从未起作用。明显的缺点是“mysql_real_escape_string”函数与那里无关,因为它与数据库无关。事实上,我收到一条错误消息,告诉我这个功能“被用户拒绝......”。
无论如何,我不打算使用此功能,但奇怪的是它使 Facebook 共享链接在 100% 的时间内有效,而“addslashes”却没有。我认为 addlashes 是“mysql_real_escape_string”的纯 PHP 版本,但它有一些不同,否则,它应该可以正常工作,但事实并非如此。
我的问题有任何纯 PHP 替代解决方案吗?
php - 我的服务器自动添加斜杠
我的服务器添加slashes
了cookie value
. 请帮我解决这个问题。
current cookie value
是这样的,
但我希望它是这样的,
php - 在多引号变量中提取字符串
我有一个带有多个单引号的变量,并想提取其中的一个字符串。
我的代码是:
$image['src'] 包含这个字符串:
我认为一切都会是正确的,但$image['src']返回null。addlashes方法工作正常并返回:
我没有在这里找到问题,我错过了什么吗?
=====更新======
整个代码:
php - PHP's addslashes() not working for MySQL insert
I'm writing an import script in PHP to bring tables from SQL Server into MySQL, and I'm wrapping all char/varchar values in single-quotes for insertion. This works fine until the script encounters a value that has a single-quote in it. The obvious solution is to use addslashes()
, but that isn't working for me. I also tried htmlspecialchars()
as well as mysqli_real_escape_string
, but neither worked. I've even tried removing the offending character altogether, using str_replace("'", "", $value)
with no success. Finally, I tried wrapping the values in double- instead of single-quotes, but that gave me the same error upon encountering a row where the value's double-quotes could not be escaped.
Until the point of error, the script successfully inserts multiple chunks of 1,000 rows each, so I know the INSERT statement isn't formatted incorrectly. I logged the whole query and confirmed single-quotes aren't being escaped, although I can run an INSERT manually with just the offending row and a backslash included where necessary.
I'm stumped here. Are there any troubleshooting tips I've missed?
I have checked for duplicate or similar questions, but I'm not finding anything applicable to my situation that I haven't tried already. If I've overlooked a previous answer to this, please let me know.
Here's the code:
php - 不能在 PHP SQL Server ODBC 上使用添加斜杠
编辑我正在使用 MS SQL,我查询到 MySQL,然后将其插入到 MS SQL
我编写了一个脚本,它将从数据库中查询数据并将其上传到另一个数据库。所以脚本是这样的
那么这个
然后我有一些错误
这可能是未转义的字符串,但我已经有了。当我尝试回显查询时:
看起来 O'Nielll 没有转义,或者我的报价有问题?如何解决这个问题?谢谢
php - 升级 PHP - 需要删除 get_magic_quotes_gpc
我们正在从 php 5.3 升级到 5.4,它不向后兼容 'get_magic_quotes_gpc'。我知道代码仍然可以工作,但每次都带回一个 FALSE。
但是,我认为是时候从我们的代码中清除它了。
这是一个典型的例子:
我一直在研究如何解决这个问题,这就是我想出的:
我在这里有点过头了。我知道这一切都与 SQL 注入等有关。我的解决方案是合理/可接受的吗?
提前致谢。
<<<< 编辑 - 附加信息 >>>>
感谢您的回复。实际上,大约 18 个月前,我们进行了一系列转换为 PDO(主要是由于关于 stackoverflow 的这种类型的建议 :)
所以,我可能有一些多余的、毫无意义的代码。这是我在上面发布的从 URL 获取变量的代码下面发生的事情的全貌。
您会看到,曾经存在的 (get_magic_quuotes_gpc) 现在被注释掉并被 (addslashes) 取代。但是该变量被传递给 PDO 查询。
我可以去掉前 4-5 行代码中的所有东西,然后让它变成这样:
jsp - 我如何在 JSP 中使用替换函数来转义单引号
我只是想问一下如何在 JSP 中使用 REPLACE 函数来转义单引号,如 PHP 中的 addlashes()
我的代码是
谢谢