如何从数据库中投放混合的静态和动态广告?
Posted
技术标签:
【中文标题】如何从数据库中投放混合的静态和动态广告?【英文标题】:How to serve mixed static and dynamic ads from a database? 【发布时间】:2011-01-12 06:00:41 【问题描述】:我正在 Django 中构建一个需要将广告集成到网站中的应用程序。我需要根据以下因素确定的“广告优先级”投放广告:
-
如果页面“所有者”在系统中有他们已付费购买的广告,请先投放该/那些广告。
如果没有,请投放 Google AdWords 广告或其他类型的广告。
我对在像这样的动态网站中处理广告有点陌生,我应该怎么做?显然,所有这些都应该由数据库支持,但我应该如何建模呢?似乎会有 3 种类型的广告:图片/超链接自定义广告、Flash 自定义广告和 Google AdWords 广告。这是相当准确的吗?如果我这样做,我是否需要担心 XSS(跨站点脚本)?
如果你是我,你会如何在 Django 中做这件事?我知道这有点主观,但我几乎一无所知,很想听听一些好主意。最好只使用 Google AdWords 或类似服务,但提供自定义付费广告在商业模式中至关重要。
【问题讨论】:
【参考方案1】:我会选择Google Ad Manager。您可以投放自定义广告系列,如果没有,您可以将其设置为展示 AdSense。
【讨论】:
谢谢@Tiago。看起来很不错的软件,我去看看。【参考方案2】:我不使用 Django,但不久前我已经这样做了。我只是将 html 存储为数据库列之一。经过一些简单的逻辑来决定放置哪个广告后,我只是将广告 HTML 放到了页面上。
决定投放哪个广告的逻辑可能会非常复杂。我尝试了几种不同的方法,并希望我需要其他人来处理所有广告场景。但是您的要求听起来很简单。
【讨论】:
那么跨站点脚本呢?给某人一个他们可以编辑的简单 HTML 表单可以让任何人都可以注入这样的恶意内容:<script type="text/javascript">alert.show("Haldo!");</script>
或更糟。我知道我可能应该相信我的广告商,但即使它不是恶意的,他们也可以像古代 MySpace 上经常出现的情况那样大幅改变他们的页面。
我说的是您将存储在数据库中的 HTML。我假设只有管理员才能编辑您网站上显示的广告。请记住,许多广告商都希望在他们的广告中包含 javascript。他们可以使用 JavaScript 造成更大的破坏。底线:如果您不信任这些人,您可能不想让他们控制您网站上显示的内容。
是的。基本上,这个想法是公司在该网站上注册,如果他们作为一项额外功能付费,他们就可以在他们的公司页面上投放广告。简而言之,我无法保证或确定他们在里面放了什么。
嗯,唯一的其他选择是让它输入纯文本,然后您进行 HTML 编码并将其转换为 HTML。但我怀疑这是否可行,因为大多数广告都需要赋予他们控制权(链接、javascript 等)。我不明白你怎么可能允许他们输入自己的广告而不会让自己面临风险。以上是关于如何从数据库中投放混合的静态和动态广告?的主要内容,如果未能解决你的问题,请参考以下文章