我可以控制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)/.+并且效果如此之好,以至于无论用户是否浏览该网站,我的用户都被阻止了。
因此,我的问题是:如果我没有访问权限/时间/权限来修改应用程序,如何允许不允许“机器人”直接访问某些页面的事情呢?
我正在使用MSVE,我有自己的瓷砖,我在顶层显示.问题是,有很多,他们在网络服务器上.在某些目录中,有大约30,000多个文件.最初我调用了Directory.GetFiles,但是一旦我开始在伪实际环境中进行测试,它就会超时.
以编程方式列出并遍历这么多文件的最佳方法是什么?
编辑:我的同事建议使用MS索引服务.有没有人尝试过这种方法,并且(如何)有效?
我有一个RakefileRake任务,我通常会从命令行调用:
rake blog:post Title
Run Code Online (Sandbox Code Playgroud)
我想编写一个多次调用Rake任务的Ruby脚本,但我看到的唯一解决方案是使用``(反引号)或system.
这样做的正确方法是什么?
通常当我在构建VB.NET程序时使用ClickOnce但它有一些缺点.我从来没有真正使用过任何其他东西,所以我不确定我的选择是什么.
ClickOnce的缺点:
ClickOnce的优点:
Windows Installer也会这样做吗?我知道它没有任何ClickOnce缺点,但知道它是否也有ClickOnce专业人员会很高兴.
更新:我最终使用Wix 2(Wix 3可用,但在我完成项目时,没有人有一个称职的教程).这很好,因为它支持了我(最终)需要的三件事.一个可选的启动窗口快捷方式,一个启动时安装程序完成选项,以及我的老板认为将保留的三段文本将使用点击错误的选项.
我想用MySQL创建我的Rails应用程序,因为我非常喜欢它.如何在最新版本的Rails中执行此操作而不是默认的SQLite?
我需要创建一个SQL Server 2005数据库的备份,它只是结构......没有记录,只有架构.有没有办法做到这一点?
编辑:我正在尝试创建一个与旧进程一起使用的备份文件,因此脚本不能用于我的目的,抱歉
我已经安装了TotroiseSVN并且我的大多数存储库都是从C:\ subversion\检查进出的,还有一对来自网络共享的进出检查(我最初发布这个问题时忘记了这一点).
这意味着我本身没有"subversion"服务器.
我如何整合TortoiseSVN和Fogbugz?
编辑:插入斜体
我正在尝试编写一些PHP来将文件上传到我的网络服务器上的文件夹.这就是我所拥有的:
<?php
if ( !empty($_FILES['file']['tmp_name']) ) {
move_uploaded_file($_FILES['file']['tmp_name'], './' . $_FILES['file']['name']);
header('Location: http://www.mywebsite.com/dump/');
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title>Dump Upload</title>
</head>
<body>
<h1>Upload a File</h1>
<form action="upload.php" enctype="multipart/form-data" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000000" />
Select the File:<br /><input type="file" name="file" /><br />
<input type="submit" value="Upload" />
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我收到这些错误:
警告:move_uploaded_file(./ test.txt)[function.move-uploaded-file]:无法打开流:第3行的E:\ inetpub\vhosts\mywebsite.com\httpdocs\dump\upload.php中的权限被拒绝
警告:move_uploaded_file()[function.move-uploaded-file]:无法在E:\ inetpub\vhosts\mywebsite.com中将'C:\ WINDOWS\Temp\phpA30E.tmp'移动到'./test.txt'第3行的httpdocs\dump\upload.php
警告:无法修改标头信息 - 已在E:\ inetpub\vhosts\mywebsite.com\httpdocs \中发送的标头(在E:\ inetpub\vhosts\mywebsite.com\httpdocs\dump\upload.php:3处开始输出)第4行的dump\upload.php
PHP版本4.4.7在Windows机器上运行IIS.此特定文件/文件夹具有777权限.
有任何想法吗?
ruby ×2
sql ×2
sql-server ×2
apache ×1
backup ×1
c# ×1
clickonce ×1
directory ×1
fogbugz ×1
http-referer ×1
iis ×1
installer ×1
integration ×1
math ×1
mod-rewrite ×1
mysql ×1
oracle ×1
php ×1
rake ×1
security ×1
svn ×1
tortoisesvn ×1
upload ×1
vb.net ×1