这种PHP方法安全吗?

use*_*305 -2 php

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

这样做是否正确?

形成:

<input type="text" name="a">
<input type=text" name="b">
Run Code Online (Sandbox Code Playgroud)

网址:

http://the url.php?a=4,52&b=????.,-12345
Run Code Online (Sandbox Code Playgroud)

我想要它做什么,只需:

如果用户发送现有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);
Run Code Online (Sandbox Code Playgroud)

Dim*_*ima 5

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