问题列表 - 第44739页

安全地在VM中运行C++

所以,我正在制作一个在线应用程序,用户可以提交代码,输出将显示给用户.我已将安全性作为首要任务,并已采取以下步骤以确保代码安全运行:

  • 在VM上运行代码,在仅使用的VPS上运行这些VM.这些VM不允许通过工作目录进行任何网络或文件访问.
  • 使用以下G ++标志:

    -O -std=c++98 -pedantic-errors -Wfatal-errors -Werror -Wall -Wextra -Wno-missing-field-initializers -Wwrite-strings -Wno-deprecated -Wno-unused -Wno-non-virtual-dtor -Wno-variadic-macros -fmessage-length=0 -ftemplate-depth-128 -fno-merge-constants -fno-nonansi-builtins -fno-gnu-keywords -fno-elide-constructors -fstrict-aliasing -fstack-protector-all -Winvalid-pch
    
    Run Code Online (Sandbox Code Playgroud)

我的问题我想我真的怎么能让这更安全?你个人认为这种方法有什么问题吗?

c++ compiler-construction virtual-machine

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

Java Generics - 这个未经检查的演员安全吗?

我有(另一个)未经检查的演员问题.我90%确定它是安全的,但我想确定(我正在使用@SupressWarnings另一个正在审查代码的开发人员)

我们的框架已经建立了以下模式:

abstract class Writer<T> {
    Class<T> valueType;

    Writer(Class<T> valueType) {
        this.valueType = valueType;
    }
}
class Cat { }

class CatWriter extends Writer<Cat> {
    CatWriter() {
        super(Cat.class);
    }
}
Run Code Online (Sandbox Code Playgroud)

我也在使用子类Writer来编写一个使用泛型的类:

class Color {}
class Green extends Color {}
class Brown extends Color {}
Run Code Online (Sandbox Code Playgroud)

我的作家类看起来像这样:

abstract class Bird<C extends Color> {}
class Parrot extends Bird<Green>{}
class Ostrich extends Bird<Brown>{}

class BirdWriter<C extends Color> extends Writer<Bird<C>> {
    BirdWriter(Bird<C> bird) {
        super((Class<Bird<C>>)bird.getClass());
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以在编写器中使用原始类型但是会提供更多警告.相反,我在Writer类中包含泛型.除了构造函数之外,这到处都很好.我不得不投的bird.getClass()(这是一个类对象,它没有一般签名)到Class对象有 …

java generics warnings casting

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

Android:android.graphics.Canvas.drawLine(Canvas.java:809)中的java.lang.NullPointerException(可能与我的drawable资源有关)

我正在尝试在每列中构建一个包含7列和24个TextView的子视图.

当我的活动开始时,我得到一个异常,它在堆栈跟踪中的任何地方都没有我的包.

这是24个文本视图中每个视图的背景可绘制资源

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item><shape><solid android:color="#CCC"/></shape></item>
    <item android:top=".5pt" android:bottom=".5pt">
        <shape android:shape="line">
            <size android:height="1pt" android:color="#CCC" android:dashWidth="1pt" android:dashGap="1pt" />
        </shape>
    </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

在发生这种情况之前,CPU会在一两秒内达到100%.

我正在使用Android 2.2的模拟器

这是我的例外.

01-26 16:51:38.084: ERROR/AndroidRuntime(955): FATAL EXCEPTION: main
01-26 16:51:38.084: ERROR/AndroidRuntime(955): java.lang.NullPointerException
01-26 16:51:38.084: ERROR/AndroidRuntime(955):     at android.graphics.Canvas.drawLine(Canvas.java:809)
01-26 16:51:38.084: ERROR/AndroidRuntime(955):     at android.graphics.drawable.GradientDrawable.draw(GradientDrawable.java:347)
01-26 16:51:38.084: ERROR/AndroidRuntime(955):     at android.graphics.drawable.LayerDrawable.draw(LayerDrawable.java:320)
01-26 16:51:38.084: ERROR/AndroidRuntime(955):     at android.view.View.draw(View.java:6725)
01-26 16:51:38.084: ERROR/AndroidRuntime(955):     at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
01-26 16:51:38.084: ERROR/AndroidRuntime(955):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
01-26 16:51:38.084: ERROR/AndroidRuntime(955):     at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
01-26 16:51:38.084: ERROR/AndroidRuntime(955):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
01-26 16:51:38.084: …
Run Code Online (Sandbox Code Playgroud)

android nullpointerexception drawable

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

在C++中加密存档的方法

我正在编写一个游戏,它会在一些xml文档和资源文件中包含大量信息(配置,一些内容等).这将使我和其他人更容易编辑程序,而无需编辑实际的C++文件,也无需重新编译.

但是,随着程序开始增长,与程序在同一目录中的文件会增加.所以我想把它们放在一个文件存档中(因为它们主要是文本,因此压缩效果很好).

我的问题是:压缩所有文件会更容易吗:

  1. 设置密码(如受密码保护的ZIP),然后在程序需要时提供密码
  2. 使用Crypto ++或类似方法加密存档
  3. 稍微修改文件头作为"临时"加密,并在加载文件时修复文件的头文件

我认为数字1和2是相似的,但我找不到有关zlib是否可以处理受密码保护的档案的任何信息.

另请注意,我不希望在程序使用时将存档中的文件"提取"到文件夹中.它应该只在系统的内存中.

c++ compression encryption password-protection

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

QT:来自资源QSS文件的setStyleSheet?

在我的小部件中,我可以做类似的事情:

MyWindow::MyWindow(QWidget *parent) :
    QWidget(parent)
{
    ui.setupUi(this);
    setStyleSheet("QWidget { background-color: red }");  // <--- HERE
}
Run Code Online (Sandbox Code Playgroud)

这会将小部件背景设置为红色.

我的资源中有一个QSS文件.我如何指示我的小部件从那里获取其样式表内容,而不仅仅是将qss语法作为参数?

qt

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

如何避免在MSBuild中重复?

当它的必要,我不介意的东西偶尔重复,但在我的MSBuild真的不知道该怎么避免重复.它通常意义上不提供"功能"; 一个目标只能被调用一次,甚至通过CallTarget,<Import>只能在Project关卡上工作.

这是一个我试图去"重复"的具体例子:

<Target Name="Tgt1">
  <PropertyGroup><Conf1>Twiddle</Conf1><Conf2>Thing</Conf2></PropertyGroup>

  <PropertyGroup><xxxxxxxxxxExePath>$(xxxxxxxBuildRoot)\$(Conf1)Console-xxxxxxxxed</xxxxxxxxorExePath></PropertyGroup>
  <MSBuild Projects="$(BuildSingleProj)" Targets="Build;Merge"
           Properties="Configuration=$(Conf1)$(Conf2);Platform=$(Platform);CompiledFileName=$(CompiledFileName);ProjectName=$(ProjectName);SolutionFile=$(SolutionFile);Root=$(Root);Caller=$(MSBuildProjectFullPath)"/>
  <MakeDir Directories="$(xxxxxxxxorExePath)" />
  <WriteLinesToFile File="$(xxxxxxxxorExePath)\xxxxxxx.IsPortable.txt" />
  <WriteLinesToFile File="$(xxxxxxxxorExePath)\xxxxxxx.Global.Settings.xml" Lines="@(xxxxxxxLicense)" Overwrite="true" />
  <Exec Command='$(xxxxxxxxorExePath)\xxxxxxx.exe -a "$(xxxxxxxBuildRoot)\$(Conf1)$(Conf2)-Merged\xxxxxxx.exe" "$(xxxxxxxBuildRoot)\$(Conf1)$(Conf2)-xxxxxxxxed\xxxxxxx.exe"'/>
</Target>
Run Code Online (Sandbox Code Playgroud)

我有四个这样的目标,Tgt1,Tgt2,Tgt3,Tgt4.在只有这四个目标之间的区别就是第一行,定义一个Conf1Conf2.

我所知道的唯一或多或少可行的重复数据删除思想是将共享代码移动到新目标并通过MSBuild任务调用它.遗憾的是,这需要手动传入loooooong属性字符串,并且此任务使用了相当多的(我计算了11个属性和1个项目组).

另一个要求是我可以使用这些目标的任意子集来调用脚本,例如\t:Tgt2,Tgt3.

是否有任何明智的替代方法只需复制/粘贴这一块代码 - 这不涉及复制庞大的属性列表而不是?

msbuild dry

6
推荐指数
2
解决办法
521
查看次数

在Linux中,如何查看每个文件并进行替换?

假设我想要遍历每个文件(递归地),并用以下内容替换所有内容:

{{ MEDIA_URL }}
Run Code Online (Sandbox Code Playgroud)

有:

{% media_url %}/
Run Code Online (Sandbox Code Playgroud)

在我的所有文件中,我可以在Linux中运行什么命令以递归替换前者?

unix linux grep

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

如何使用Fluent NHibernate自动化一组组件?

我的所有实体和值对象都实现了标记接口IEntityIValueObject.我把它们设置为像这样的组件:

public override bool IsComponent(Type type)
{
    return typeof(IValueObject).IsAssignableFrom(type);
}

public override bool ShouldMap(Type type)
{
    return typeof(IEntity).IsAssignableFrom(type) || typeof(IValueObject).IsAssignableFrom(type);
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这似乎不允许将具有值对象集合的实体自动化为组件集合.例如:

public class MyEntity : IEntity
{
    public IList<MyValueObject> Objects { get; set; }
}

public class MyValueObject : IValueObject
{
    public string Name { get; set; }
    public string Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法定义一个约定,这样,只要IEntityIList一个类型实现IValueObject,它就像我指定的那样被映射:

HasMany(x => x.Objects)
    .Component(x => { 
        x.Map(m => m.Name); 
        x.Map(m => m.Value); …
Run Code Online (Sandbox Code Playgroud)

nhibernate components fluent-nhibernate automapping value-objects

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

JQuery的.click()如何在幕后工作?

这个问题只是出于好奇.我想知道jquery的.click()是如何在幕后工作的.

例如,如果我创建一个按钮:

<input type="button" id="myButton" value="Click me!" />
Run Code Online (Sandbox Code Playgroud)

然后我有以下jquery代码:

$('#myButton').click( function() {
    alert("I have been clicked.");
});
Run Code Online (Sandbox Code Playgroud)

jquery如何使它在单击按钮时调用我的函数?

起初我以为它会将onClick=""属性添加到按钮的标签中,但是当我用Firebug检查页面时,我刚刚看到:

<input type="button" id="myButton" value="Click me!" />
Run Code Online (Sandbox Code Playgroud)

那么jquery在幕后做什么呢?

javascript jquery events

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

渲染Java JPasswordField?

我试图找到实际呈现JPassword字段的方法.也许渲染不是正确的词,所以这是交易:

我试图让JPassword字段显示不同数量的字符,而不是与我输入的实际密码长度相同.例如,如果我输入密码123456和setEchoChar((字符)值)为"#"

密码将显示如下:######
我希望能够生成随机数量的星星以显示:##########
如果数字为10,例如.(当然没有空格)

我能够通过添加几个侦听器来检测更改,然后获取文本并用我创建的掩码替换它,但这不能令人满意,我希望能够改变实际对象的行为.一点挑战不会伤害,对吗?:)我准备好任何建议.谢谢.

java swing jpasswordfield

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