首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将post数据值直接按名称属性值赋给php中的变量是否正确(安全)?

问将post数据值直接按名称属性值赋给php中的变量是否正确(安全)?
EN

Stack Overflow用户
提问于 2010-05-13 16:58:30
回答 3查看 185关注 0票数 1

我在PHP上工作已经一年了,但是现在我可以用这种方式直接使用name属性来赋值post数据值。我真的很想知道关于这方面的it.please refere链接的文档。

我用例子来解释。

这是我的表格

代码语言:javascript
复制
<form method="post" action="">
<input type="text" name="userName" id="userName">
<input type="submit" name="doit" value="submit">
</form>

为了获得我经常使用的post数据

代码语言:javascript
复制
$somevar=mysql_real_escape_string($_POST['userName']);

但现在我看到了另一种方式

代码语言:javascript
复制
$somevar= "userName";

我只想知道它是不是安全又简单?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-13 17:06:25

我认为您正在寻找PHP指令register_globals。看看Variables From External Sources吧。但是,此指令默认为"off“,您可能应该保留该指令,因为它在PHP5.3中已被弃用。无论如何,您仍然需要对其执行mysql_real_escape_string()。

您也可以使用import_request_variables()手动注册全局变量:

代码语言:javascript
复制
import_request_variables("p");
echo $userName;

PHP网站上的Using Register Globals给了你一个很好的想法,告诉你自动将HTTP变量注册为全局变量是多么的不安全。

票数 1
EN

Stack Overflow用户

发布于 2010-05-13 17:03:52

就我个人而言,我喜欢使用转义函数。所以我会坚持使用mysql_real_escape_string()

我从来没有见过任何代码中的变量是从引号赋值的。据我所知,您所做的就是让$somevar包含一个字符串userName

票数 1
EN

Stack Overflow用户

发布于 2010-05-13 17:10:14

你最好使用下面的方法

代码语言:javascript
复制
$somevar= $userName;
OR
$somevar= $_POST[userName];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2825470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档