一个网站上有多个Adsense广告 - 避免SQL注入

时间:2010-10-06 18:18:54

标签: php mysql adsense

我正在建立一个网站,会员可以将自己的adsense横幅发布到网站上。最初我想使用Adsense API与用户分享收入。 (他们只需输入他们的Adsense发布商ID)但我发现我不符合使用API​​的要求。

我的另一种选择是允许用户提交他们的整个Adsense单位代码,看起来像

<script type="text/javascript"><!--
google_ad_client = "pub-xxxxxxxx";
/* 300x250, created 10/4/10 */
google_ad_slot = "7431428552";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

是否有一种安全的方法来过滤所有这些以确保用户不提交有害代码?

1 个答案:

答案 0 :(得分:0)

adsense客户端ID是一个数字。因此,请使用ctype_digit确保它是一个数字。注意:如果字符串为空,ctype_digit()将返回true。如有必要,请使用额外的==比较。

这应该在将其放入数据库之前完成。由于它是一个数字,并且不能为负数,我建议您使用BIGINT UNSIGNED作为匹配的数据类型。无法使用INT,因为ID很长。作为替代方案,您可以使用VARCHAR