在JavaScript、PHP和MSSQL中处理反斜杠
在我写这篇文章之前,让我明确一点,我绝对不能改变我要展示给你们的字符串,它必须保持原样 我需要找到一种没有任何转义机制的解析字符串的方法。我有一个字符串:“A2&11203[3\813+!5>di”,我不得不处理这个程序使用它 SQL很好地解析了这个字符串(反斜杠和其他),但JavaScript和PHP一直将其用作转义机制,并删除数字8 在我的应用程序中发生的是,它接收到该字符串,然后使用JavaScript,将其与字符串一起重定向到网页,这里的问题是反斜杠正在被删除,我必须删除它 我在另一篇stackoverflow文章中发现了这段代码,它可以满足我的需要,但我需要阻止JavaScript(最终是PHP)删除反斜杠在JavaScript、PHP和MSSQL中处理反斜杠,php,javascript,sql-server,backslash,Php,Javascript,Sql Server,Backslash,在我写这篇文章之前,让我明确一点,我绝对不能改变我要展示给你们的字符串,它必须保持原样 我需要找到一种没有任何转义机制的解析字符串的方法。我有一个字符串:“A2&11203[3\813+!5>di”,我不得不处理这个程序使用它 SQL很好地解析了这个字符串(反斜杠和其他),但JavaScript和PHP一直将其用作转义机制,并删除数字8 在我的应用程序中发生的是,它接收到该字符串,然后使用JavaScript,将其与字符串一起重定向到网页,这里的问题是反斜杠正在被删除,我必须删除它 我在另一篇s
function post_to_url(path, params, method) {
method = method || "post"; // Set method to post by default, if not specified.
// The rest of this code assumes you are not using a library.
// It can be made less wordy if you use one.
var form = document.createElement("form");
form.setAttribute("method", method);
form.setAttribute("action", path);
for(var key in params) {
if(params.hasOwnProperty(key)) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);
form.appendChild(hiddenField);
}
}
document.body.appendChild(form);
form.submit();
}
字符串需要完全原始处理,我刚刚检查了数据库,有几种情况下,到处都有多个反斜杠,而且几乎可以在英文键盘上找到任何字符
关于这个问题我能做些什么,有什么想法吗?我被迫使用JavaScript作为主要重定向程序。我猜您的流是这样的:
var myvar = "<?php echo $var; ?>";
在PHP中,从SQL数据库获取数据并以JavaScript代码输出。然后,将其发送回PHP进行处理
在这种情况下,您需要在将字符串传递给JavaScript之前对其进行一些处理
您可以通过调用字符串来实现这一点
例如,与以下内容不同:
var myvar = "<?php echo $var; ?>";
var myvar=”“;
你应该:
var myvar = <?php echo json_encode($var); ?>
var myvar=
这意味着,无论字符串中有什么字符,JavaScript、反斜杠和所有字符中都会有精确的字符串
当JavaScript通过表单将其传递回PHP时,反斜杠会得到很好的维护——这对于任何表单都是正确的,因为用户可以键入他们想要的所有反斜杠。只需小心为正在使用的数据库类型使用适当的转义函数,以确保任何特殊字符(如反斜杠)正确转义。由于无法正确转义反斜杠,我们改为传递其他4个字段来标识帐户,然后在php中提取帐户否,不再需要转义任何内容。不能转义字符串完全是胡说八道。字符串甚至作为URL的一部分都无效,并且您的web浏览器是es在发送之前自动为您设置字符串的上限,这样转义至少会发生一次,那么为什么不在其他时间让您携带的数据保持有效?字符串在代码中的位置?字符串是绑定到帐户的主标识,对每个记录都是唯一的。字符串来自内置在主帐户中的应用程序将数据输入HTML页面的程序,我正在尝试找出如何从HTML页面继承该字符串,并且必须重定向到我的报表服务器。HTML处理器充其量是非常简陋的,老实说,我很惊讶它甚至可以处理JavaScript。不,我不知道主程序是用什么编写的,但它给了我能力在这个文档中,我使用JavaScript将页面指向运行php脚本的报表服务器。主程序->HTML文档(JavaScript重定向)->报表php服务器。我试图将变量从主程序传递到报表服务器。