Php脚本,从传入的值运行查询
我对php非常陌生,请注意,这是一个android应用程序,我称之为脚本,我没有让用户编写脚本lol。有一系列复选框,当他们选中某些复选框时,它会将脚本附加到字符串生成器。我正在尝试根据传入的变量的值运行查询。通常我会这样做Php脚本,从传入的值运行查询,php,variables,Php,Variables,我对php非常陌生,请注意,这是一个android应用程序,我称之为脚本,我没有让用户编写脚本lol。有一系列复选框,当他们选中某些复选框时,它会将脚本附加到字符串生成器。我正在尝试根据传入的变量的值运行查询。通常我会这样做 mssql_query("UPDATE Userdata SET BrowseScript = '".$_REQUEST['sqlscript']."' WHERE Userdata.Username = '".$_REQUEST['Username']."'");
mssql_query("UPDATE Userdata SET BrowseScript = '".$_REQUEST['sqlscript']."'
WHERE Userdata.Username = '".$_REQUEST['Username']."'");
以及它的位置。$\u请求['']
我可以获取传入的值
但是这次,$\u请求['']
是整个脚本,所以我想要这样的东西
mssql_query($_REQUEST['sqlscript']);
就是这样,我想让它运行这个值中的查询,这个查询是正确的,但是它不会返回任何值,我想我可能有一些语法错误或者其他什么,就像我说的我是php新手。谢谢你的帮助。另外,我没有发布全部代码,因为一切都正常运行,我只是无法运行该查询。因此,我所需要的帮助是mssql_查询部分,再次感谢。首先,您所做的工作存在巨大的安全漏洞。您应该始终清理和转义查询中使用的变量,例如使用或准备好的语句 因为您要为查询导入整个脚本,所以可能没有转义引号。您需要将以下函数放在变量之前:
mysql_real_escape_string($_REQUEST['your_var']);
使用
$\u REQUEST
本身而不是正确的$\u GET
或$\u POST
易受攻击。尽管神圣,但不要这样做强>
您不仅仅使用请求参数并将它们放入SQL查询中。您至少可以使用它(或者无论MSSQL等价物是什么,都不要使用它)。而且,您肯定不会接受请求中的整个查询并在看不见的情况下执行它们
你正在打开巨大的安全漏洞。特别是如果你是新来的,在它成为习惯之前,现在就停止它
example.com/foo.php?sqlscript=DROP TABLE users
最低要求讲座:
您的整个数据库都将被删除。在插入数据库之前对输入进行完整性检查,请参阅googlesooo中的sql注入,您能告诉我我的ms_查询行的外观吗mysql@user516883:只需在您的查询变量之前添加
mysql\u real\u escpae\u string
函数,例如`mssql\u query('更新Userdata SET BrowseScript=''.mysql\u real\u escpae\u string($\u REQUEST['sqlscript'])。“'WHERE Userdata.Username='”。mysql\u real\u escpae\u string($\u REQUEST['Username'])。“”)`我不明白?我没有像运行查询那样运行查询,查询是一个通过android应用程序传递的值,没有涉及任何网站,用户没有提供sql脚本,有一系列复选框,当他们单击stringbuilder时,会创建运行的sql脚本。请提供完整ms_sql代码的帮助,谢谢!可以吗输出echo$REQUEST['sqlscript']的值;下面是我如何从所有php脚本中获取数据的方法,而不是我现在要发布的内容,我不知道;