我想用auth_basic用密码保护我网站的文件夹.此文件夹包含php脚本,如果请求它们应该执行.
我尝试了以下方法:
location /admin {
auth_basic "Admin-Section";
auth_basic_user_file /myfolder/.htpasswd;
}
location ~ ^/admin/.*\.php$ {
auth_basic "Admin-Section";
auth_basic_user_file /myfolder/.htpasswd;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Run Code Online (Sandbox Code Playgroud)
在请求该admin文件夹中的php脚本时,我将被要求输入用户名/密码,但是php脚本将始终被下载而不是通过fastcgi执行.
我究竟做错了什么?
编辑:在我的本地机器上一切正常,使用此配置.o0
编辑:BTW,php正在admin-folder之外使用相同的fastcgi-options.
编辑:天啊!该站点的配置存储在/ etc/nginx/sites-available/mysite和/ etc/nginx/sites-enabled /包含mysite文件的符号链接.因为有些时候改变mysite文件没有效果.例如,将所有位置更改为"全部拒绝"都没有效果.文件发送没有问题.
所以我删除了符号链接并重新启动了服务器.然后我再次创建了符号链接,重新启动了服务器,一切都按预期工作.有人可以解释奇怪的行为吗?
Gest问候,
Biggie
Servlet响应包装器正在Servlet过滤器中使用.这个想法是响应被操纵,并将"nonce"值注入表单中,作为防御CSRF攻击的一部分.
Web应用程序在任何地方都使用UTF-8.当Servlet过滤器不存在时,没有问题.添加过滤器时,会出现编码问题.(似乎响应回复到8859-1.)
代码的内容:
final class CsrfResponseWrapper extends AbstractResponseWrapper {
...
byte[] modifyResponse(byte[] aInputResponse){
...
String originalInput = new String(aInputResponse, encoding);
String modifiedResult = addHiddenParamToPostedForms(originalInput);
result = modifiedResult.getBytes(encoding);
...
}
...
}
Run Code Online (Sandbox Code Playgroud)
据我了解,byte-land和String-land之间的转换应指定编码.正如你所看到的,这在两个地方就完成了.'encoding'变量的值是'UTF-8'; String本身的更改是标准字符串操作(使用正则表达式),并且从不指定编码(addHiddenParamToPostedForms).
关于编码我在哪里错误?
编辑:这是基类(对不起,它很长):
package hirondelle.web4j.security;
import javax.servlet.ServletOutputStream;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
/**
Abstract Base Class for altering response content.
(May be useful in future contexts as well. For now, keep package-private.)
*/
abstract class AbstractResponseWrapper extends HttpServletResponseWrapper {
AbstractResponseWrapper(ServletResponse aServletResponse) …Run Code Online (Sandbox Code Playgroud) 我想移动并旋转元素中的球的图像.球为68x68,画布为300x200.球沿着x和y轴移动,当它撞到墙壁时翻转它的x和y速度 - 所有这些都有效.我只是无法想象如何在机芯顶部进行旋转.
我的draw()函数,我每隔30ms通过window.setInterval调用,看起来像这样:
var draw = function() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.save();
ctx.rotate(ball_radians);
ctx.drawImage(ball_img, x, y);
ctx.restore();
// calculate new x, y, and ball_radians
}
Run Code Online (Sandbox Code Playgroud)
这使得球在屏幕上飞舞,显然我做错了.我错过了什么?
仅仅是为了一小部分背景,我追踪这个特殊的颠覆奇怪的原因是因为我发现它对我们新的Maven设置(特别是发布插件)进行了故障排除.release:prepare给我一个埋在堆栈跟踪中的错误.
执行此命令......
svn copy http://[server]/svn/tran1/myproject/trunk http://[server]/svn/tran1/myproject/tags/testtag
...给我以下错误:
svn: Server sent unexpected return value (403 Forbidden) in response to PROPFIND request for '/svn/tran1'
我认为这可能是一个身份验证问题,但我能够做到几乎所有我能想到的其他颠覆事件.从命令行检出,添加,提交和更新所有工作.这里真的很奇怪......我可以使用Eclipse的Subclipse插件创建分支.如果Eclipse实际上并没有这样做,那可能就不那么奇怪了svn copy.
tran1旁边还有一个sibling subversion存储库.复制命令在那里工作正常.
它试图获得权限的URL也看起来不对.它询问/ svn/tran1,当权限设置得更深一级/ svn/tran1/myproject /
可能导致我的错误的任何想法?谢谢.
所有web.py表单示例都采用以下格式(来自webpy.org):
myform = form.Form(
form.Textbox("boe"),
form.Textbox("bax",
form.notnull,
form.regexp('\d+', 'Must be a digit'),
form.Validator('Must be more than 5', lambda x:int(x)>5)),
form.Textarea('moe'),
form.Checkbox('curly'),
form.Dropdown('french', ['mustard', 'fries', 'wine']))
class index:
def GET(self):
form = myform()
# make sure you create a copy of the form by calling it (line above)
# Otherwise changes will appear globally
return render.formtest(form)
def POST(self):
form = myform()
if not form.validates():
return render.formtest(form)
else:
# form.d.boe and form['boe'].value are equivalent ways of
# extracting the validated arguments from …Run Code Online (Sandbox Code Playgroud) 我们在MySQL中存储敏感数据,我想使用AES_ENCRYPT(数据,'my-secret-key-here'),然后使用AES_DECRYPT,效果很好.我最大的问题是如何保护密钥?以前我只是将密钥存储在Web PHP文件中,所以类似于:
define("ENCRYPTION_KEY", 'my-secret-key-here');
Run Code Online (Sandbox Code Playgroud)
这确实不起作用,因为我们的MySQL服务器和Web服务器是相同的物理机器,所以如果有人获得对服务器的访问权限,他们可以获得存储在MySQL中的加密数据和密钥.
有任何想法吗?我想我需要将密钥移动到一个单独的服务器,并远程读取它.或者,如何为每个数据动态生成加密密钥.例如,获取customer_id并在其上运行md5,然后将其用作密钥.
我有一个开发盒和一个开发服务器.
我的开发盒上有一些开发工具,我想要访问开发服务器上的MySQL.
开发服务器是使用XAMPP设置的.
如何通过网络提供mysql?我对主机名使用什么?
谢谢
假设我有这个
#!/usr/bin/perl
%x = ('a' => 1, 'b' => 2, 'c' => 3);
Run Code Online (Sandbox Code Playgroud)
我想知道值2是否是哈希值%x.
怎么做的?
我有一个供应商的DLL,我想在我的.cshtml文件中使用它.我无法看到你在Webmatrix中添加对程序集的引用的位置......或者我是否完全忽略了这一点?
我想从路径枚举列创建面包屑.
这是我拥有的数据集的示例.
id woeid parent_woeid country_code name language place_type ancestry
祖先是枚举的路径,就像1/23424975/24554868/12602167/12696151布莱顿在英格兰的路径一样.
我希望能够通过查询name专栏来检索面包屑,并让所有的父母.
即.世界,欧洲,英格兰,[县],[镇],[地区],[地方]
([] = a placeholder)
数据永远不会更改,这就是此表使用Adjacency List和路径枚举的原因.