对黑客专业人士的疑问。
我与W3SCHOOLS一起检查了许多类似的问题和PHP手册文档,它们都使用了不同的方法,这些方法使我对所有可能的方法都发疯了(不确定使用哪个方法?)
(例如,PHP手册使用bind param函数:
$stmt->bind_param('sssd', $code, $language, $official, $percent);
但是我无法使其正常工作,所以我使用了这个:
$queryString = "SELECT * FROM mytable WHERE dom='%s' AND key='%s' AND user_id='%i";
$stmt = $wpdb->get_results( $wpdb->prepare($queryString, $dom, $key, $user_id) );
(我假设%i是整数,%s是字符串)-此代码有效,但不确定是否防止sql注入。
这是否正确并且足以防止SQL注入? (ps变量通常是在此之前创建的,例如$ dom =“ mydom”;)
非常感谢!
答案 0 :(得分:1)
在您的示例中,我看到您正在使用Wordpress函数,因此按照这种方法,您应该查阅文档以了解自己的工作,特别是prepare()
https://developer.wordpress.org/reference/classes/wpdb/prepare/
指出“正在准备SQL查询以安全执行...”
因此,从本质上讲,是的,尽管您信任Wordpress在内部正确地进行了操作,但却可以保护您的查询。