我想阻止直接url访问某些选定的目录.但是,可以在所选目录中创建一些文件,以便直接访问url.我在编写<filesmatch>部分时遇到了一些麻烦,无法访问"xml /"目录中的.php文件.我想在filesmatch指令中包含"path"的一部分,而不是为每个目录创建单独的<directorymatch>指令,我希望某些文件可用,但它不起作用......如果我删除"/xml /"并放<FilesMatch "\.(php)$">
在我的httpd.conf中,我设置了一个虚拟目录.在虚拟目录中,我添加了以下内容:
<DirectoryMatch "^/data/servers/dev.site.com/web/administrator/(includes|xml|css|javascript|stylesheet|cache|classes|acco
unt_files)">
AddType application/x-httpd-php .php .html .htm
Options none
AllowOverride All
Order Deny,Allow
Deny from all
#Target all files in "xml/" directory that end in ".php"
<FilesMatch "/xml/\.(php)">
AddType application/x-httpd-php .php
Order Allow,Deny
Allow from all
</FilesMatch>
</DirectoryMatch>
Run Code Online (Sandbox Code Playgroud)
有谁知道我该怎么写这个?
谢谢您的帮助.
我目前正在使用如下选项(在表单中):
<% form_for :search, :url => search_path, :html => {:method => :get} do |f| %>
<%= select('search', :type, options_for_select(['Artist', 'Track'])) %>
<%= f.text_field :query %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这是有效的,但是当我执行搜索时,即使用户在搜索之前选择了"跟踪",它也会默认返回给艺术家.我怎么能纠正这个?
自动选择当前值适用于单选按钮:
<% form_for @search, :url => search_path, :html => {:method => :get} do |f| %>
<p class="radio_button">
<%= f.label :type_track, 'Search tracks' %>
<%= f.radio_button :type, 'Track' %>
</p>
<p class="radio_button">
<%= f.label :type_artist, 'Search artists' %>
<%= f.radio_button :type, 'Artist' %>
</p>
<p class="text_field">
<%= f.label :query, 'Search query' %> …
Run Code Online (Sandbox Code Playgroud) 我想知道是否可以使用AVFoundation框架同时从两个摄像头捕获.具体来说,我的问题是前后AVCaptureDevices是否可以同时处于活动状态.
目前我知道AVCaptureSession实例只能支持一个输入(和输出).我创建了两个AVCaptureSessions,将前置摄像头设备连接到一个,然后将其连接到另一个,然后我将会话的输出指向不同的SampleBufferDelegate函数.我看到的是,一个委托函数在几帧中处于活动状态,然后另一个委托函数接管.似乎AVFoundation在某种程度上关闭了相机设备,如果正在使用另一个相机设备.任何人都可以确认这一点或分享他们有关此主题的经验
提前致谢
我正在尝试读取我之前成功读取的文件.我正在通过一个库阅读它,我将它原样发送到库(即"myfile.txt").我知道该文件是从working/current目录中读取的.
我怀疑当前/工作目录已经以某种方式发生了变化.我如何检查当前/工作目录是什么?
我用了:
getWindow().addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Run Code Online (Sandbox Code Playgroud)
如何恢复默认状态(不保持)?
我知道C++不支持容器元素的协方差,就像在Java或C#中一样.所以下面的代码可能是未定义的行为:
#include <vector>
struct A {};
struct B : A {};
std::vector<B*> test;
std::vector<A*>* foo = reinterpret_cast<std::vector<A*>*>(&test);
Run Code Online (Sandbox Code Playgroud)
毫不奇怪,我在建议这个解决另一个问题时收到了downvotes .
但是C++标准的哪一部分确切地告诉我这将导致未定义的行为?它的保证,无论std::vector<A*>
和std::vector<B*>
他们的指针存储在内存中的continguous块.它也保证了sizeof(A*) == sizeof(B*)
.最后,A* a = new B
完全合法.
那么我标准的标准是什么坏的(风格除外)?
最近有几个关于将 ValueType 装箱为对象的问题,特别是它是否在某些情况下发生。
我意识到我不知道的是,“装箱”ValueType(将其视为引用的对象)和简单地通过引用访问它之间有什么区别,例如使用 ref 或 out 关键字(您传递的只是“指针”)?在这两种情况下,该值都位于您可以指向它的某个位置(对于对象来说,它是堆,对于本地范围的 ValueType 来说,它是......到底在哪里?)。
如果我不得不猜测,根据我对 C++ 的了解,我会说它是这样工作的:通过引用访问的 ValueType(假设通过参数关键字)保留在其作用域的调用堆栈级别上,但是“创建了指向堆栈中该变量存储桶的“快捷方式”指针,并成为堆栈下一层的一部分。因为该值已经存储在内存中(甚至可能是 CPU 缓存),所以您不必在堆上实例化新的东西;唯一的新东西是指针,它是它自己的 ValueType (一个 IntPtr),并且本身存储在堆栈中,因此据我所知,它比将某些内容放入堆中更快。
这是正在发生的事情,还是还有其他事情正在发生?
编辑:更清楚:
public void TakesAnObject(Object obj) {...}
public void TakesAnIntValueType(ref int myValue) {...}
public void AnotherIntParameterMethod(out int myValue) {...}
...
//this locally-scoped variable is simply created on the stack.
int myInt = 5;
//Performs boxing; an Object is instantiated in the heap that holds the
//variable value from the stack, and that is passed by ref.
TakesAnObject(myInt);
//Apparently does NOT perform …
Run Code Online (Sandbox Code Playgroud) 这不是"哪个是最快的ORM"的问题,也不是"如何用ORM编写好代码"的问题.这是另一方面:代码已经编写,它已经上线,数千名用户正在使用该应用程序,但是存在整体性能问题.SQL事件探查器跟踪只能运行很短的时间:5分钟可以产生数十万个结果.
问题很简单:使用SQL事件探查器缩小了许多慢查询(持续时间大于给定时间),有哪些技术和解决方案可以将这些SQL查询追溯到有问题的组件中?一个相关的问题是,如果某个特定区域很慢,我们如何识别该区域正在执行的SQL,以便在SQL事件探查器中对其进行适当过滤?
这背景是我们有一个相当大的应用程序,具有相当复杂的表结构,目前基于存储过程的数据访问.如果出现SQL性能问题,通常情况下是拉出SQL分析器,找出是否有任何缓慢(按持续时间过滤)或者被抱怨的区域是否缓慢(按存储过程过滤),并调整存储过程(或模式 - 通过索引).
现在推动我们的代码从一个主要的sproc解决方案转移到一个主要是ORM的解决方案,但是对这一举措的大力推动是性能问题如果出现,可以追溯到有问题的代码.我已经阅读过,似乎通常情况下,它可能涉及我们需要在服务器上安装的第三方工具(像NHProf或.NET跟踪实用程序,如dottrace的ORM跟踪实用程序).现在是否可以在实时环境中安装其他工具是另一个问题,因此如果可以在没有其他工具的情况下执行此类操作,那么这可能是一个奖励.
我最感兴趣的是使用SQL Server 2008的解决方案,但它对于任何RDBMS都可能是通用的.就ORM技术而言,我没有特别关注当前没有使用的内容,因此有兴趣了解技术如何区别(或常见)twixt nHibernate,fluent-nhibernate和Entity Framework.如果他们提供其他东西,欢迎其他ORM :-)
我已经阅读了如何查找和修复性能问题(...),我认为问题只是那里的"隔离"部分.仅在现场系统上易于重现的问题将难以隔离.我在第2段中引用的数字是我们可以从个人资料中获得的数量类型的数字......
如果你有现场ORM跟踪的实际经验,那就更好了:-)
更新,2016-10-21:为了完整起见,我们最终通过编写代码和重写NHibernate方法为NHibernate解决了这个问题.我问的其他SO问题的全部细节:NHibernate和Interceptors - 测量SQL往返时间.我希望这对于许多不同的ORM来说都是类似的方法.
考虑Enumerable的这个扩展:
module Enumerable
def hash_on
h = {}
each do |e|
h[yield(e)] = e
end
h
end
end
Run Code Online (Sandbox Code Playgroud)
它是这样使用的:
people = [
{:name=>'fred', :age=>32},
{:name=>'barney', :age=>42},
]
people_hash = people.hash_on { |person| person[:name] }
p people_hash['fred'] # => {:age=>32, :name=>"fred"}
p people_hash['barney'] # => {:age=>42, :name=>"barney"}
Run Code Online (Sandbox Code Playgroud)
是否有内置功能已经这样做,或者足够接近它不需要这个扩展?
我正在研究构建一个登录系统,当你将2位数的盐传递给crypt()
函数时,读取php手册后,它返回一个哈希字符串,字符串的前两位是你使用的盐.
例:
$salt = "kr";
echo crypt("mysecret",$salt); //returns "kreOI.F7eOQMY"
Run Code Online (Sandbox Code Playgroud)
我的第一个想法是,这不会帮助那些试图扭转你的哈希的人吗?
我在维基百科上查了一下盐说:
为了最好的安全性,盐值保密.
所以我不明白为什么crypt函数会返回所有使用salt值的哈希值?
是否有一个原因?这应该是一个安全问题吗?
c++ ×2
hash ×2
php ×2
.htaccess ×1
.net ×1
android ×1
apache ×1
avfoundation ×1
boxing ×1
camera ×1
covariance ×1
encryption ×1
enumerable ×1
flags ×1
forms ×1
ios ×1
iphone ×1
memory ×1
nhibernate ×1
orm ×1
performance ×1
ruby ×1
security ×1
select ×1
visual-c++ ×1