小编dB'*_*dB'的帖子

在window.location.hash上运行JSON.parse()是否安全?

我正在寻找一种在我的URL散列中存储一些javascript变量的方法.我的目标是允许用户使用书签恢复Web应用程序的特定状态.

在我看来,一种方法可能使用JSON序列化.即,我会存储我的变量

var params = { var1: window.val1, var2: window.val2 }
window.location.hash = JSON.stringify(params)
Run Code Online (Sandbox Code Playgroud)

并像这样恢复它们

var paramStr = window.location.hash.substring(1) // substring removes the initial "#"
var params = JSON.parse(paramStr)
window.var1 = params.var1
window.var2 = params.var2
Run Code Online (Sandbox Code Playgroud)

这似乎是做我想要的最简单,最简洁的技术.我很容易理解,并且它使用的代码行数少于例如这个流行的SO建议.但是,它也感到不安全.恶意用户可以将任意代码写入URL,我的应用程序将执行它.这看起来很危险,但我对网络编程很陌生,所以我不知道这有多大.

我上面概述的用于存储变量的技术是否可以window.location.hash安全使用?如果没有,为什么不呢?可能发生的最坏情况是什么?

javascript ajax json

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

如何在静态库项目中添加主要方法?

我在XCode中有一个C ++项目,该项目建立了一个静态库。我想向项目添加一个主要方法,以允许我测试库中的某些代码。

为了做到这一点,我首先复制了项目的目标,然后将一个main方法添加到了第二个目标(根据此答案)。但是,当我构建并运行这个新目标时,我的main方法没有执行。

有人知道我在做什么错吗?

c++ xcode xcode4.3

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

如何采摘驼峰案例栏

我正试图从表中拔出一列.该命令似乎失败了,因为我的列名是在camel case(practiceType)中.这是我的错误,模型和架构:

> Task.pluck 'practiceType'
   (0.5ms)  SELECT practiceType FROM "tasks"
PG::Error: ERROR:  column "practicetype" does not exist
LINE 1: SELECT practiceType FROM "tasks"
               ^
: SELECT practiceType FROM "tasks"
ActiveRecord::StatementInvalid: PG::Error: ERROR:  column "practicetype" does not exist
Run Code Online (Sandbox Code Playgroud)

task.rb

class Task < ActiveRecord::Base
  attr_accessible :name, :practiceType
[...]
Run Code Online (Sandbox Code Playgroud)

schema.db

  create_table "tasks", :force => true do |t|
    t.string   "name"
    t.string   "practiceType"
  [...]
Run Code Online (Sandbox Code Playgroud)

正确的解决方案可能是将列名转换为蛇形,但我更愿意避免这种情况,因为我担心会破坏我的应用程序.是否有一个快速而肮脏的解决方案可以让我的查询运行?

ruby sql postgresql activerecord ruby-on-rails-3

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

RoR:"user || = User.new"的含义

可能重复:
Ruby中的|| =(或等于)是什么意思?

在互联网上,我在Ruby/Rails中看到了以下语法:

user ||= User.new
Run Code Online (Sandbox Code Playgroud)

我是新手,我无法解析这个问题.有人可以向我解释"|| ="运算符的作用吗?

ruby ruby-on-rails

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