【发布时间】:2016-06-16 20:46:00
【问题描述】:
我正在开发一个 Wordpress 网站,但我们需要的一项功能并不完全符合我们的需要。在不创建整个会员网站的情况下,我们需要每周向用户发送电子邮件,其中包含指向动态页面的链接,他们将能够根据他们的一周访问音频文件的数量(滴灌活动)。电子邮件不是来自 Wordpress,而是来自 CRM。
所以:http://website.com/audiodownloadpage/?xyz=1(他们将能够访问一个音频)、http://website.com/audiodownloadpage/?xyz=2(他们将能够访问两个音频)等等。
这是使用 $_GET 的变量调用:
$abc = isset( $_GET[ 'xyz' ] ) ? $_GET[ 'xyz' ] : '';
我将变量放在 query_posts() 函数中,这样它就知道要显示多少。
我尝试添加:
addslashes(mysql_real_escape_string(strip_tags()))
根据 SO 上另一个线程的推荐,但它破坏了页面。我想我做错了。有人可以告诉我如何在保护到位的情况下获得相同的变量吗?它适用于一页和封闭的受众,所以我冒着风险使用这种方法,我想尽可能地保护它。
【问题讨论】:
-
你将如何处理价值?
-
使用 PDO! wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers,这是从 SQL 注入中合理安全的唯一方法。
-
使用带有占位符的预准备语句是保护用户输入的唯一方式,无论首选 API -
mysqli_还是 PDO。 -
"...关于 SO 上另一个线程的推荐" 那是什么线程?所以我可以用数字方式打那些说这话的人。