0

我读过很多书,甚至我的观点是客户端验证使用起来不可靠。这就是为什么我总是更喜欢使用服务器端验证和客户端验证。因此,我想知道是否有任何方法可以手动绕过客户端验证,以便检查我的服务器端验证是否正常工作。我将 JSF 与 Facelets 一起用作视图技术。

4

2 回答 2

2

有太多的库和工具。
这里我提供两个解决方案:

1)如果您使用的是 linux,则 curl 命令:

curl --data "year=1905&month=7"  http://yoursite.com/page.php

2) 蟒蛇

import urllib2
import urllib

urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()))

the_url = "http://jira-host/jira/secure/CreateWorklog.jspa"

random_user_agent = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)'

'HTTP POST fields
values = {'inline'  : 'true',
    'decorator' : 'dialog',
    'worklogId' : '',
    'id'    : '1027231',
    'timeLogged'    : '1d',
    'startDate' : fdate,
    'adjustEstimate'    : 'auto',
    'comment'   : '',
    'commentLevel': ''}

data = urllib.urlencode(values)

req = urllib2.Request(the_url, data, {
    'Accept': 'text/html, */*; q=0.01',
    'X-Requested-With': 'XMLHttpRequest',
    'User-Agent': random_user_agent,
    'Accept-Language': 'fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4',
    'Referer':  'http://jira/jira/browse/TICK-216',
    'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
    'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'})
于 2013-02-14T13:55:57.057 回答
0

(直到现在)有一些可能性可以使用 Java 为托管 bean 编写测试:

  • 阿奎利安。它是一个测试 Java EE 组件的框架。
  • JSFUnit,一个帮助您为 JSF 托管 bean 编写单元测试的框架。
  • 使用Apache HttpClient编写单元测试,它将向您的页面发送请求。就个人而言,我不建议这样做,因为您应该专门做很多工作来了解在您的请求中发送到页面的参数(是的,我知道您可以使用 Firebug 或 Chrome 控制台检查 HTTP 流量,但它仍然不是一个好主意)。
于 2013-02-14T15:10:15.860 回答