首页 > 代码库 > 广告路由器开发(二)实践
广告路由器开发(二)实践
上篇文章中分析了wifidog下authpuppy之间的数据流这篇文章中我就介绍一下如何书写一个简单的广告路由器
经过以上分析不难看出 实现一个广告路由器还是非常简单的
由于我本人对symfony框架不感冒 故以下示例代码使用了phalcon框架进行书写(只是演示用而已)
<?php namespace controllers; class InterfaceController extends \Phalcon\Mvc\Controller { public function initialize( ) { } public function indexAction( ) { } public function loginAction( ) { if( $this->request->isGet() && null == $this->request->getQuery( 'advs' ) ) { $strDebug = var_export( $_SERVER, true ); $this->view->setVar( 'iRefreshTime', 10 ); //广告时间10秒 $this->view->setVar( 'url', $this->request->getServer( 'REQUEST_URI' ) . '&advs=advs' ); $this->view->pick( 'interface/advs' );//这里展示广告 } else { $this->view->disable(); $strToken = sha1( rand() . time() ); $this->persistent->set( 'redirectUrl', $this->request->getQuery( 'url' )); $this->response->redirect( 'http://' . $this->request->get( 'gw_address' ) . ':' . $this->request->get( 'gw_port' ) . '/wifidog/auth?token=' . $strToken, true ); } } public function logoutAction( ) { echo 'Auth:0'; } public function portalAction( ) {//广告过后在此函数内进行跳转 $this->view->disable(); if( null != $strUrl = $this->persistent->get( 'redirectUrl' ) ) { $this->response->redirect( $strUrl, true ); } else { $this->response->redirect( 'http://blog.csdn.net/qzfzz', true ); } } public function pingAction( ) { echo 'Pong'; } public function msgAction( ) { } public function authAction( ) { echo 'Auth: 1'; } }
以下为视图
<!--advs.phtml--> <!doctype html <html> <head> <meta http-equiv="refresh" content="<?php echo $iRefreshTime;?>;url=<?php echo $url;?>"/> <title>Login</title> </head> <body> <p>这里可以展示广告等信息</p> </body> </html>
经过以上的开发一个简单的广告路由器即完成了
广告路由器开发(二)实践
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。