如何从SQL注入中保护Zend Framework 1中的动态馈送样式表?

时间:2013-06-20 08:51:02

标签: zend-framework sql-injection

我正在研究Zend Framework 1.12中的一个项目。我想构建一个工具,使成员能够动态上传他们选择的VCSS样式表;从而使他们能够以他们选择的颜色格式化页面。它们的样式表的参数是通过URL加载的;

The url could be like this:   samplewebbsite/?s=rootfolder/stylesheet
we collect it with: $this->view->stylesheet = $this->_request->getParam('stylesheet', ' );

getParam()获取其样式表的分心。即:rootfolder / stylsheet.css 然后我在索引页面上显示该值,即:

<link href="<?= $this->stylesheet ?>" media="screen" rel="stylesheet" type="text/css" >

我现在的问题是:我想保护getParam()不受javascript / sql注入/错误代码等的影响。我如何保护它?我应该使用strip_tags()还是有更好的方法来保护它?

1 个答案:

答案 0 :(得分:0)

我想我已经知道如何去做;我这样做了;我只是使用条带标签。

$this->view->stylesheet =  $stylesheet = strip_tags ($this->_request->getParam('s', ''));

我试图使用

$alpha = new Zend_Filter_Alpha();
$this->view->stylesheet =  $alpha -> filter($this -> _request -> getParam('name'));

但是我发现它也取出了所有的断行,即http /:Sameplesite / Rootfolder /成为samplesiteRootfolder

如果有人有更好的解决方案,我会热衷于听到(即我宁愿使用过滤器类)。然而在其他方面。我认为我的问题得到了很好的回答。