将表单的GET转换为PHP变量?

rng*_*y22 1 php sql-injection

我正在尝试使以下形式的GET函数成为预定义变量的一部分.

有任何想法吗?提前致谢!


让我再解释一下我真正想要做的事情.我目前经营着一个专注于美国股市的网站.我用method = GET创建了一个HTML表单.此表单用作搜索框以查找股票代码符号.使用GET方法,它将股票代码放在URL的末尾,我创建了一个quotes.php页面,该页面捕获此信息并根据键入框中的股票代码显示股票图表.对于公司名称,我创建了一个名为company.php的页面,该页面声明了公司名称的所有变量(恰好是$后跟股票代码).文件company.php是quotes.php中包含的唯一文件.

这是它的来源:'.$$ _ GET ["symbol"]."

上面的代码根据在表单中输入的内容将GET更改为变量.如果有人在框中输入与company.php页面中的变量不匹配的内容,我使用"die"来显示错误消息.

我还在每个公司的company.php页面变量中添加了一些变量,这些变量将显示每个股票在哪个证券交易所上市.这些变量以"$ ex_"开头.所以,我试图做的是将符号键入"$ ex_"附加的框中,以便显示相应的证券交易所.

我的问题是:

  1. 有没有办法将表格中输入的内容添加到"$ ex_"?
  2. 这是一种不安全的方式来编码这样的东西(它可以被黑客入侵)吗?

谢谢你们!

Nie*_*sol 5

而不是为变量添加前缀和使用变量(可能不安全,尤其是用户输入),请尝试以下方法:

$ex = array(
    "foo" => "bar",
    ...
);
if( !isset($ex[$_GET['symbol']])) die("Error: That symbol doesn't exist!");
$chosen = $ex[$_GET['symbol']];
Run Code Online (Sandbox Code Playgroud)

  • 答案"BAD CODER,DOWN"总是很好的 (2认同)