绕过客户端验证以检查服务器端验证



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

库和工具太多
在这里,我提供了两种解决方案:

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

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

2) Python

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'})

(到目前为止)有一些可能性可以使用Java:为托管bean编写测试

  • Arquillian。这是一个测试JavaEE组件的框架
  • JSFUnit,一个帮助您为JSF托管bean编写单元测试的框架
  • 使用ApacheHttpClient编写单元测试,它将向您的页面发送请求。就我个人而言,我不建议这样做,因为你应该专门做很多工作来了解向页面发送请求的参数(是的,我知道你可以使用Firebug或Chrome控制台检查HTTP流量,但这仍然不是一个好主意)

相关内容

  • 没有找到相关文章

最新更新