问题列表 - 第34547页

PHP检测源图像URL链接是否导致"损坏"图像?

假设您有一个缩略图生成器脚本,它接受URL形式的源图像.有没有办法检测源URL是否"损坏" - 是否不存在或导致非图像文件?


只是暴力使用getimagesize()或其他PHP GD功能不是解决方案,因为可能输入可能根本不是图像(http://example.com/malicious.exe或相同文件,但重命名为http://example.com/malicious.jpg)的欺骗性杂散URL - 这样的情况很容易被PHP检测到之前必须调用GD.我正在寻找GD预先消毒,然后GD尝试解析文件的营.


作为第一步,以下正则表达式检查URL是否是图像扩展名: preg_match('@(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)([^\s]+(\.(?i)(jpg|png|gif|bmp))$)@', $txt,$url);

php gd

14
推荐指数
2
解决办法
2万
查看次数

为什么tkinter进度条让事情变得如此之慢?

我有以下代码用于提取tar.gz文件,同时密切关注进度:

from __future__ import division
import tarfile
import os

theArchive = "/Users/Dennis/Instances/atlassian-jira-enterprise-4.1.2-standalone.tar.gz"

a = tarfile.open(theArchive)

tarsize = 0

print "Computing total size"
for tarinfo in a:
    tarsize = tarsize + tarinfo.size

realz = tarsize
print "compressed size: " + str(a.fileobj.size)
print "uncompressed size: " + str(tarsize)

tarsize = 0

for tarinfo in a:
    print tarinfo.name, "is", tarinfo.size, "bytes in size and is",
    if tarinfo.isreg():
        print "a regular file."
    elif tarinfo.isdir():
        print "a directory."
    else:
        print "something else."
    a.extract(tarinfo)
    tarsize = …
Run Code Online (Sandbox Code Playgroud)

python tkinter tar

3
推荐指数
1
解决办法
1143
查看次数

Membershipprovider:会话结束时自动注销

我遇到一些问题,让我的网站在会话结束时(用户关闭浏览器)自动注销经过身份验证的用户.

这是我在web.config中的内容:

<authentication mode="Forms">
    <forms name="AuthCookie" protection="All" loginUrl="~/default.aspx" path="/" cookieless="UseCookies" timeout="2592000"/>
</authentication>

<authorization>
    <allow users="?" />
</authorization>

<membership defaultProvider="ASPPGSqlMembershipProvider" userIsOnlineTimeWindow="20">
    <providers>
        <clear />
        <add name="AspNetSqlMemberShipProvider" applicationName="umbraco4" type="System.Web.Security.SqlMembershipProvider" connectionStringName="UmbracoDb" requiresUniqueEmail="true" enablePasswordReset="true" enablePasswordRetrieval="false"/>
        <add name="UsersMembershipProvider" applicationName="umbraco4" type="umbraco.providers.UsersMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" />
        <add name="ASPPGSqlMembershipProvider" applicationName="umbraco4"
            passwordStrengthRegularExpression="" minRequiredPasswordLength="4" minRequiredNonalphanumericCharacters="0"
            enablePasswordRetrieval="false"
            enablePasswordReset="true"
            requiresQuestionAndAnswer="false"
            requiresUniqueEmail="true"
            forumUpfileFolderPath="D:\www\files"
            type="ASPPG.MembershipProviders.ASPPGSqlMembershipProvider, ASPPGSiteIntegrationPackage"/>
    </providers>
</membership>
Run Code Online (Sandbox Code Playgroud)

这是我登录用户的方式:

if (Membership.ValidateUser(txtUserName.Text, txtPasssword.Text)) {
    HttpCookie cookie = FormsAuthentication.GetAuthCookie(txtUserName.Text, false);
    cookie.Expires = DateTime.Now.AddDays(1);
    cookie.Domain = ConfigurationManager.AppSettings["Level2DomainName"];
    HttpContext.Current.Response.Cookies.Add(cookie);
    Response.Redirect(Request.Url.ToString());
}
Run Code Online (Sandbox Code Playgroud)

当我关闭浏览器时,用户仍然登录.如何通过选项让网站忘记用户,以便用户自己决定网站是否应该记住?

提前致谢 :)

中号

asp.net forms-authentication asp.net-membership remember-me

1
推荐指数
1
解决办法
1206
查看次数

双到字符串格式

我有一个Double值xx.yyy,如果值为负,我想转换为字符串"xxyyy"或"-xxyy".

我怎么能这样做?

问候.

java string formatting numbers string-formatting

3
推荐指数
1
解决办法
3902
查看次数

夏令时在Rails 2.3.5中无法正确计算?

我的应用程序中的夏令时(DST)有一个非常奇怪的问题.出于某种原因,每当我从表中收到时间时,它都不会为DST调整自己.例如,如果我在控制台中创建一个新的Time,在适当的时区,将其写入数据库,然后尝试从数据库中检索它,它会在一小时前返回.

这是一个例子:

在这里,我们可以看到使用控制台,在美国东部时间15:00创建一个新的时间等于19:00 UTC(因为调整为DST,这使得-0400而不是通常的-0500):

ruby-1.8.6-p114 > Time.zone
 => #<ActiveSupport::TimeZone:0x12b1b68 @name="UTC", @tzinfo=nil, @utc_offset=0> 
ruby-1.8.6-p114 > Time.zone = "Eastern Time (US & Canada)"
 => "Eastern Time (US & Canada)" 
ruby-1.8.6-p114 > Time.zone.parse("15:00")
 => Thu, 09 Sep 2010 15:00:00 EDT -04:00 
ruby-1.8.6-p114 > Time.zone.parse("15:00").utc
 => Thu Sep 09 19:00:00 UTC 2010 
ruby-1.8.6-p114 > Time.zone.parse("15:00").dst?
 => true 
Run Code Online (Sandbox Code Playgroud)

现在,我尝试将同一时间写入数据库,并将其检索回来:

ruby-1.8.6-p114 > b = Book.new
 => #<Book id: nil, return_time: nil, created_at: nil, updated_at: nil> 
ruby-1.8.6-p114 > b.return_time = Time.zone.parse("15:00")
 => Thu, 09 Sep 2010 15:00:00 …
Run Code Online (Sandbox Code Playgroud)

time timezone ruby-on-rails dst

2
推荐指数
1
解决办法
2057
查看次数

如何使用Ant将目录从一个位置复制到另一个位置?

我希望将目录从一个位置复制到另一个位置.但是,在查看"copy"和"copyDir"(不推荐使用)之后,默认情况下,Ant似乎只将一个位置的内容复制到另一个位置,而不是实际目录(以及其中的所有内容).

所以,作为一个例子,我有以下内容:

./Foo/test.txt
Run Code Online (Sandbox Code Playgroud)

我应用以下Ant:

 <copy todir="./build">
    <fileset dir="./Foo"/>
 </copy>
Run Code Online (Sandbox Code Playgroud)

结果如下:

./build/test.txt
Run Code Online (Sandbox Code Playgroud)

而我希望它是:

./build/Foo/test.txt
Run Code Online (Sandbox Code Playgroud)

希望有道理.我怎样才能做到这一点?

ant

5
推荐指数
1
解决办法
5868
查看次数

任务调度框架 - 而不是线程调度!

我正在开发一个Java应用程序,它应该允许用户优化他们的日程安排.为此,我需要一个框架来帮助计算"任务"的最佳时间,注意:

  1. 所需的资源和资源使用限制
  2. 任务之间的依赖关系(虽然只能与F-> S关系)
  3. 最早和最晚的开始 - 结束时间,松弛时间
  4. 基线与实际时间 - 允许报告实际的开始和结束时间,相应地更新其余任务

一些澄清:我既不是在寻找一个框架来绘制这些甘特,也不是在寻找一个处理一个特定问题领域的框架(如教室),而且绝对不是一个处理线程调度的框架.

谢谢!

java scheduling gantt-chart resource-scheduling

5
推荐指数
1
解决办法
2211
查看次数

.NET中是否存在垃圾收集的事件?

我的ASP.NET网站有一个奇怪的减速,我似乎无法追查.我怀疑GC可能会开始并停止我的线程.要确定每次GC确实发生时都要记录它会很好.

我可以制作一个虚拟对象并在其终结器中进行记录,但那将是一次性解决方案,而在我的情况下,有几个这样无法解释的暂停.

有任何想法吗?

补充:环境是VS2008/.NET 3.5 SP1.不,垃圾收集通知不会这样做,因为它们是一种轮询方法,并不适用于并发GC.

.net events garbage-collection

15
推荐指数
2
解决办法
2637
查看次数

如何在没有互联网的情况下通过wifi服务网站?

我想通过开放的wifi连接提供网站,但我不希望这个wifi连接可以访问互联网.这是可能的,我将如何去做.

我已在本地设置网站,并通过localhost或IP地址在浏览器中访问,但我不知道如何设置网络服务器并通过wifi服务网站.

对此有何见解?

webserver ip-address wifi

13
推荐指数
1
解决办法
2万
查看次数

更容易从现有字符串创建字母数字+'_'字符串?

是否有更好/更简单的方法\w+从现有字符串创建字符串?

 char *FixName(char *name)
 {
     char *ptr, tmp;
     char *new = malloc(strlen(name)+1);
     sprintf(new, "str_");
     for (ptr = name + 4; *ptr; ptr++)
     {
         if ((*ptr >= '0' && *ptr <= '9') ||
             (*ptr >= 'A' && *ptr <= 'Z') ||
             (*ptr >= 'a' && *ptr <= 'z') ||
             *ptr == '_')
         {
             tmp = *(ptr+1);
             *(ptr+1) = '\0';
             strcat(new, ptr);
             *(ptr+1) = tmp;
         }
     }
     free(name);
     return new;
 }

 // USAGE:
 //char *j = strdup("str_[](1.00)");
 //printf("J: %s\n", j); …
Run Code Online (Sandbox Code Playgroud)

c string

2
推荐指数
1
解决办法
146
查看次数