0

我想在我的 symfony1.4 项目中编写一个程序,它可以返回/给出不安全页面的 url,我该怎么写?

我使用凭据保护操作,并使用 sfDoctrineGuard 来确保安全。

如果用户未获得任何页面的授权,则该页面会显示来自 sfwebresponse 的 401 代码。

我为每个动作都提供了凭据。我的第一个问题是

  1. 现在我如何测试这些操作是否安全。
  2. 我想生成一个报告,其中包含每个页面的 url 和相应的 url 是否安全?

我的 routing.yml 如下:

annual_performance_appraisal_details:
  class: sfDoctrineRouteCollection
  options:
    model:                AnnualPerformanceAppraisalDetails
    module:               AnnualPerformanceAppraisalDetails
    prefix_path:          /AnnualPerformanceAppraisalDetails
    column:               id
    with_wildcard_routes: true

annual_performance_appraisal:
  class: sfDoctrineRouteCollection
  options:
    model:                AnnualPerformanceAppraisal
    module:               AnnualPerformanceAppraisal
    prefix_path:          /AnnualPerformanceAppraisal
    column:               id
    with_wildcard_routes: true

apa_question_answer:
  class: sfDoctrineRouteCollection
  options:
    model:                ApaQuestionAnswer
    module:               ApaQuestionAnswer
    prefix_path:          /ApaQuestionAnswer
    column:               id
    with_wildcard_routes: true

在我的第二(2)个问题中,我想要一份如下报告:

网址:...../AnnualPerformanceAppraisalDetails
SecurityReport:401(需要授权)

网址:...../AnnualPerformanceAppraisal
SecurityReport:401(需要授权)或 403 Forbidden

4

1 回答 1

0

关于 1您可以检查页面的状态代码。您将需要一个明确的 url 列表来测试。

你可能可以写这样的东西:

$secured_urls=array('default/index','myModule/index',...);
foreach ($secured_urls as $url) {
    $browser->get($url)
        ->with('response')
        ->begin()
        ->isStatusCode(401)
        ->end();
}

大约 2您是否尝试根据测试结果构建该报告?

于 2012-06-04T12:54:47.813 回答