我需要在Unix shell脚本中进行日期算术,我用它来控制第三方程序的执行.
我正在使用一个函数来增加一天而另一个减少:
IncrementaDia(){
echo $1 | awk '
BEGIN {
diasDelMes[1] = 31
diasDelMes[2] = 28
diasDelMes[3] = 31
diasDelMes[4] = 30
diasDelMes[5] = 31
diasDelMes[6] = 30
diasDelMes[7] = 31
diasDelMes[8] = 31
diasDelMes[9] = 30
diasDelMes[10] = 31
diasDelMes[11] = 30
diasDelMes[12] = 31
}
{
anio=substr($1,1,4)
mes=substr($1,5,2)
dia=substr($1,7,2)
if((anio % 4 == 0 && anio % 100 != 0) || anio % 400 == 0)
{
diasDelMes[2] = 29;
}
if( dia == diasDelMes[int(mes)] ) { …Run Code Online (Sandbox Code Playgroud) 在使用Network Deployment的WebSphere Application Server安装中,节点是:
我在使用NetworkDeployment控制台部署应用程序时遇到ADMA5026E错误,我做错了什么?
我可以控制HttpServer,但不能控制位于那里的ApplicationServer或Java应用程序,但是我需要阻止直接访问那些应用程序上的某些页面。确切地说,我不希望用户自动访问向适当的Servlet发出直接GET / POST HTTP请求的表单的访问。
因此,我决定根据的值屏蔽用户HTTP_REFERER。毕竟,如果用户在站点内导航,它将具有适当的HTTP_REFERER。好吧,那是我的想法。
我在.htaccess文件中实现了一个重写规则,内容为:
RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} !^http://mywebaddress(.cl)?/.* [NC]
RewriteRule (servlet1|servlet2)/.+\?.+ - [F]
Run Code Online (Sandbox Code Playgroud)
我希望禁止访问那些未导航站点但使用查询字符串向“ servlet1”或“ servlet2” servlet发出直接GET请求的用户。但是我的期望突然结束了,因为正则表达式(servlet1|servlet2)/.+\?.+根本不起作用。
当我将表达式更改为时,我真的很失望,(servlet1|servlet2)/.+并且效果如此之好,以至于无论用户是否浏览该网站,我的用户都被阻止了。
因此,我的问题是:如果我没有访问权限/时间/权限来修改应用程序,如何允许不允许“机器人”直接访问某些页面的事情呢?
我在IBM支持站点上找到了这个:
问题由于意外的异常,无法创建JAAS LoginContext。
用户响应该问题可能是由于配置错误引起的。
但我没有其他迹象,无法确定此错误的最终原因。
有什么建议么?
websphere ×4
deployment ×3
ant ×1
apache ×1
date ×1
ear ×1
http-referer ×1
jaas ×1
java-ee ×1
math ×1
mod-rewrite ×1
scripting ×1
security ×1
shell ×1
unix ×1