小编Mar*_*ius的帖子

如何在PHP中记录未捕获的异常?

我已经找到了如何将错误转换为异常,并且如果它们没有被捕获我会很好地显示它们,但我不知道如何以有用的方式记录它们.简单地将它们写入文件将没有用,是吗?当你不知道导致异常的原因时,你会冒险访问数据库吗?

php error-handling error-logging exception

11
推荐指数
2
解决办法
6129
查看次数

通过在会话变量和表单中存储nonce来保护CSRF

要防止CSRF,您应该将nonce放在表单中的隐藏字段中,以及cookie或会话变量中.但是如果用户在不同的标签页中打开多个页面会怎么样 在这种情况下,每个选项卡都有一个具有唯一nonce的表单,但会话变量或cookie中只存储一个nonce.或者,如果您尝试将所有nonce存储在cookie/session变量中,您将如何识别哪个属于哪个表单?

security csrf

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

将JSON反序列化为多个C#子类之一

我有一个看起来像这样的json结构:

"list":[
  {
    "type":"link",
    "href":"http://google.com"
  },
  {
    "type":"image",
    "src":"http://google.com/logo.png"
  },
  {
    "type":"text",
    "text":"some text here"
  },
]
Run Code Online (Sandbox Code Playgroud)

我想将其反序列化为对象列表,其中每个对象都是基类的子类.列表中的每个项目都有不同的属性(href,src,text),因此我不能使用相同的类来获取一个.相反,我想要一个普通类的三个子类.JSON列表中每个项的type属性可用于决定使用哪个子类.例如,我可以拥有以下类

public Item{
  public string type {get; set;}
}
public LinkItem : Item {
  public string href {get; set;}
}
public ImageItem : Item {
  public string src {get; set;}
}
public TextItem : Item {
  public string text {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?或者是否有更好的方法来反序列化异构对象类型列表?

编辑:

我顺便使用json.net

c# inheritance json deserialization

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

如何使用css进行边框布局?

我想为webapp创建一个边框布局,其中有一个固定大小的页眉和页脚,一个侧边栏和一个主要中心内容,可以扩展以填充剩余空间.您可以将其视为您的浏览器,其中工具栏和状态栏具有固定大小,侧边栏可以更改大小,但中心的网站会扩展以填充剩余大小.

编辑:为了澄清,我想以像素为单位指定整个设计的高度,例如600px.然后我希望侧边栏和中心div向下扩展以填充可用空间,即使它们的内容不足以填满空间.webbrowser类比也可以在这里使用.即使您在浏览器中查看的页面不高于浏览器窗口,浏览器也不会调整大小.

在css中有什么办法吗?

css layout

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

在Entity Framework中创建双链表

我有一个对象,可以选择引用下一个和/或前一个记录.像这样的东西:

public class Foo
{
  [Key]
  public int Id {get; set;}

  [ForeignKey("Previous")]
  public int? PreviousId {get; set;}

  public Foo Previous {get; set;}

  [InverseProperty("Previous")]
  public Foo Next {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用,而是导致错误消息Unable to determine the principal end of an association between the types Foo and Foo.

这个想法是通过设置PreviousId,上一个Foo将由NextEF自动设置.这是为了防止由同步引起的错误NextPrevious不同步.还要注意的是PreviousId可以null在这种情况下,在数据库中没有记录应该有一个Next在该记录指向.有没有办法实现这个?

entity-framework entity-framework-6

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

将QSortFilterProxyModel与树模型一起使用

我有一个QDirModel当前目录设置.然后我有一个QListView应该显示该目录中的文件.这很好用.

现在我想限制显示的文件,所以它只显示png文件(文件名以.png结尾).问题是使用QSortFilterProxyModel和设置过滤器regexp也会尝试匹配文件的每个父级.根据文件:

对于分层模型,过滤器以递归方式应用于所有子项.如果父项与筛选器不匹配,则不会显示其子项.

那么,我如何QSortFilterProxyModel才能只过滤目录中的文件,而不是它所在的目录?

model-view-controller qt qsortfilterproxymodel

8
推荐指数
3
解决办法
7312
查看次数

如何使用选择模型来处理代理模型?

我有一个模型和两个视图设置如下:

Model ---> OSortFilterProxyModel ---> OListView
Model ------------------------------> OTableView
Run Code Online (Sandbox Code Playgroud)

当用户在其中一个视图中选择某些内容时,我希望另一个视图镜像该选择.所以我想我会使用QSelectionModel将它们链接在一起.但这不起作用.我有一种感觉,因为观点认为它们有两种不同的模型,实际上它们具有相同的模型.有没有办法让这个工作?

model-view-controller qt selectionmodel

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

如何保护我的论坛免受垃圾邮件侵害?

我在我掌握的网站上有一个论坛,每天都会收到垃圾邮件.目前我删除垃圾邮件并阻止IP.但这并不是很好.被阻止的IP列表正在快速增长,但论坛中的垃圾邮件数量也在增长.

该论坛完全是我自己的代码.它内置于PHP和MySQL中.

什么是阻止垃圾邮件的具体方法?

编辑 我忘记提到的事情是论坛需要对未注册用户开放发布.有点像博客评论.

php mysql forum spam-prevention

6
推荐指数
3
解决办法
5801
查看次数

移除元素时的 DOM 事件

当一个元素从 DOM 中直接或作为子树的一部分被移除时,有没有办法获得通知?似乎唯一可用的方法仅适用于直接删除的节点,但是当包含我的节点的整个子树被删除时,我想收到通知。

编辑

似乎问题并不完全清楚,所以我提出了一个挑战:https : //jsbin.com/winukaf

DOM 看起来像这样:

<body>
  <div class="root">
    <div class="great-grand-parent">
      <div class="grand-parent">
        <div class="parent">
          <div class="leaf">
            Am I still here?
          </div>
        </div>
      </div>
    </div>
  </div>
</body>
Run Code Online (Sandbox Code Playgroud)

挑战是在此处的任何元素被删除时发出通知,因为这将从 DOM 树中删除叶节点。

html javascript dom

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

WebRequest.Create不正确地解码url

我有一个这样的网址:http://localhost:8080/search.json?q=L%u00e6r,这是对Lær的编码搜索.

不幸的是,使用此url创建WebRequest WebRequest.Create(url)会产生以下url : http://localhost:8080/search.json?q=L%25u00e6r.

请注意,它错误地解码%u00e6并生成%25u00e6r.有没有办法转换这种unicode转义值或让WebRequest.Create正确处理它?

这很可能会被报告为.net团队的错误.如果查询包含§,æ,ø或å(或任何其他非ascii字符)WebRequest.Create(),Request.QueryString.ToString()则不能使用返回的查询字符串.这是一个小的mvc动作,可用于测试它.用查询调用它Query?q=L%C3A6r

public ActionResult Query()
{
    var query = Request.QueryString.ToString();
    var url = "http://localhost:8080?" + query;


    var request = WebRequest.Create(url);
    using (var response = request.GetResponse())
    using (var stream = response.GetResponseStream())
    {
        return new FileStreamResult(stream, "text/plain");
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:

不幸的是,@ animaonline的解决方案不适http://localhost:8080/search.json?q=Lek+%26+L%u00e6r用于那些被解码的网址http://localhost:8080/search.json?q=Lek & Lær,在这里WebRequest.Create被混淆了&,并认为它将参数分开,而不是参数的一部分q.

c# unicode webrequest

5
推荐指数
2
解决办法
1482
查看次数