这种PHP方法安全吗?

时间:2014-02-15 16:26:45

标签: php

我想通过PHP将一些参数从应用程序发送到数据库表。 我使用'GET'方法并希望对变量设置一些限制和/或以某种方式使其安全,如下面的方法。 好消息是它们只能包含希腊字母,数字和.-,符号。

这样做是否正确?

FORM:

<input type="text" name="a">
<input type=text" name="b">

URL:

http://the url.php?a=4,52&b=αβγδ.,-12345

我想要它做什么,只需:

如果用户发送现有ID以及PHP文件中定义的正确密钥,则显示id = x的行。

安全方法[已编辑]:

$dbh=db_conn();

$vara = mb_convert_encoding($_GET["a"], 'UTF-8', 'ISO-8859-7');
$varb = mb_convert_encoding($_GET["b"], 'UTF-8', 'ISO-8859-7');

$sqlb = $dbh->prepare("SELECT * FROM table WHERE id = ? AND $vara='myknowkey';");

$sqlb->execute($varb);

1 个答案:

答案 0 :(得分:5)

没有, $_GET[a]='myknowkey'可以为您的sql语句注入代码