如何保证$ _GET

时间:2016-06-16 20:46:00

标签: php sql get

我正在使用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的另一个线程的推荐,但它打破了页面。我想我做错了。有人可以告诉我如何获得保护相同的变量吗?它适用于一个页面和一个封闭的受众,所以我冒险使用这种方法,我想尽可能地保护它。

2 个答案:

答案 0 :(得分:0)

要在将数据库插入数据库时​​保护该值,如果您使用的是mysql,请使用mysql_real_escape_string()。但我不建议使用它,因为它已被弃用并从PHP的最新版本中删除。更好的选择是:PDOmysqli

如果要在网页上使用该值,您可能希望保护它以进行XSS攻击。在这种情况下,请使用strip_tags()htmlentities()函数。

答案 1 :(得分:-1)

如果您正在讨论针对SQL注入保护数据库,您可能需要查看here