我有一个电子邮件爆炸,包括一些Facebook和Twitter分享链接.对于Twitter,我使用的是:
http://twitter.com/?status=Check%20out%20mysite.com
Run Code Online (Sandbox Code Playgroud)
据我所知,这是链接到twitter状态更新的推荐方法.Facebook曾经有过share.php功能,据我所知,仍然可以使用,但已被弃用,赞成"喜欢"按钮,它不能真正嵌入电子邮件中(缺少javascript/iframe支持)大多数客户).
链接到Facebook"分享"页面的新推荐方式是什么?没有其他选择吗?如果我必须继续使用share.php,那么我是否可以在任何地方找到有关参数的文档,因为Facebook拒绝为遗留支持保留旧文档?
在Git中,有命令
git remote show <remote>
Run Code Online (Sandbox Code Playgroud)
正确配置后,这将显示与本地存储库相比的远程状态,包括是否存在挂起的更改.我在Mercurial找不到类似的命令.我错过了什么或者它不存在吗?
我使用NHibernate并有一个自定义类型来加密数据库中的密码,这样我就可以使用字符串属性来表示密码,但是NHibernate在存储到db之前转换/加密该值.目前,我在配置文件中存储了salt值和加密密钥,但我真的更愿意转移到密码哈希.但是,自定义NHibernate类型对被存储的对象一无所知,除了它被告知要处理的属性的值,因此我无法生成一些随机盐并将其与该对象一起存储在此自定义类型中的另一个属性中.
由于我不能单独存储盐,我想知道从密码本身导出盐是否可行,然后散列两者的组合.例如,我可能会使用密码,MD5哈希,然后使用MD5哈希作为salt.这样可以吗?这将允许我以确定的方式持久保存密码,同时使用每个密码的唯一(但派生)盐值,但是这样做时是否有任何安全考虑因素?
编辑:
因为到目前为止我收到的所有答案都未能解释问题的上下文,所以让我提出NHibernate术语中定义的方法的签名.
public override void Set(IDbCommand cmd, object value, int index)
{
var param = (IDataParameter)cmd.Parameters[index];
if (value == null)
{
param.Value = null;
}
else
{
var temp = value.ToString();
var encrypted = encryptor.Encrypt(temp);
param.Value = encrypted;
}
}
Run Code Online (Sandbox Code Playgroud)
这就是NHibernate给我的全部.我收到IDbCommand对象,值和参数索引.我对参数本身或持久化对象的类型一无所知.我只有一个价值.我无法生成随机盐并将其存储在单独的属性中,因为我不知道要保留的对象上存在哪些属性,也不知道它们存储在参数集合中的顺序.我的目标是在此方法调用的上下文中以最安全的方式散列密码.如果你打算反对我的建议,那么在这种背景下接受另一种想法会很有帮助.
我正在使用KnockoutJS并通过ajax加载我的视图模型.在加载完成之前,我想显示"正在加载..."消息,如果没有加载数据,我想显示"无结果".信息.我最初的尝试看起来像这样:
<ul data-bind="template: { name: 'mentions-template', foreach: mentions.data }">
<li data-bind="visible: mentions.loaded() && mentions.data().length < 1">No mentions</li>
<li data-bind="visible: !mentions.loaded()">Loading...</li>
</ul>
<script type="text/javascript">
var viewModel = {
mentions: {
loaded: ko.observable(false),
data: ko.observableArray()
}
}
function loadData() {
$.post(action, function(result) {
viewModel.mentions.data = ko.mapping.fromJS(result);
viewModel.mentions.loaded(true);
ko.applyBindings(viewModel);
});
}
ko.applyBindings(viewModel);
loadData();
</script>
Run Code Online (Sandbox Code Playgroud)
我期望第一个li元素只显示if是否viewModel.mentions.loaded为false并viewModel.mentions.data包含一些项目,并且第二个元素将显示li直到viewModel.mentions.loaded设置为false,但两个项目始终显示.我究竟做错了什么?
我有一个元素在另一个下面,我使用position相对于向下拖动底部元素,以便它覆盖顶部元素.
paperOverlay元素是页面上的最后一个元素,纵向说,我希望它扩展到浏览器窗口的底部.但是,元素位置的相对轻推会在底部留下相等数量的空白.有什么方法可以避免这种情况吗?
HTML看起来像:
div class="container">
<div class="homePage">
<!-- some content -->
</div>
<div class="paperOverlay" style="position: relative; top: -70px;">
<!-- some more content -->
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS看起来像:
div.container
{
width: 960px;
margin: 0 auto;
}
div.homePage
{
width: 800px;
height: 500px;
}
div.paperOverlay
{
width: 960px;
min-height: 400px;
background: url('Images/Overlay.png') no-repeat top center;
}
Run Code Online (Sandbox Code Playgroud)
基本上,底层是白色背景,顶部有撕裂的纸边缘效果.目标是使撕裂的纸边缘略微覆盖在其上方的元件的底部.我margin-top: -70px按照下面的建议尝试并修复了高度,但现在顶部元素中的元素位于叠加层的顶部,我希望叠加层位于顶部.
使用python 2.7,我有以下代码:
if result != None:
(data,) = result
return data
return None
Run Code Online (Sandbox Code Playgroud)
该result变量从仅返回一个值的sqlite3查询返回.如果查询返回结果,我想解压缩并返回数据,否则我想返回None.上面的代码似乎过于冗长而且根本不是pythonic.有没有更好的办法?
我有一个ASP.NET MVC项目,当我直接启动它时加载正常.当我尝试使用Azure SDK的模拟器运行它时,我得到以下异常:
无法加载文件或程序集'file:/// C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\62253e0e\13ba4ff3\App_global.asax.a-wnopwm.dll'或其中一个依赖项.尝试加载格式不正确的程序.
这通常表示类似于32位系统上64位程序集的引用,但我从未在ASP.NET项目DLL上看到过这个错误.项目配置设置为AnyCPU.是什么赋予了?
在C#中,我有一个非常详细的语法,用于从数据库中提取一个简单的项目列表:
if (malls == null)
{
lock (_lock)
{
if (malls == null)
{
using (var session = NhibernateHelper.OpenSession())
{
malls = session.CreateCriteria<Mall>()
.AddOrder(Order.Asc("Name")).List<Mall>();
CacheManager.Set(CACHE_KEY, malls, TimeSpan.FromMinutes(CACHE_DURATION));
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我知道双重检查锁定的好处,我强烈支持它的使用,但它看起来非常冗长.你能推荐一些可能会清理它的语法快捷方式或样式吗?
假设如下:
/*
drop index ix_vouchers_nacsz on dbo.vouchers;
drop index ix_vouchers_nacsz2 on dbo.vouchers;
create index ix_vouchers_nacsz on dbo.Vouchers(
FirstName, LastName,
Address, Address2, City,
State, Zip, Email
);
create index ix_vouchers_nacsz2 on dbo.Vouchers(
Email, FirstName, LastName,
Address, Address2, City,
State, Zip
);
*/
select count(firstname) from vouchers
with (index(ix_vouchers_nacsz))
where
firstname = 'chris' and
lastname = '' and
address = '' and
address2 = '' and
city = '' and
state = '' and
zip = ''
select count(firstname) from vouchers
with …Run Code Online (Sandbox Code Playgroud) 假设我有一个看起来像这样的模型:
public class MyModel
{
[DisplayName("Email:")]
[Required(ErrorMessage = "Email is required")]
[Email(ErrorMessage = "Email is invalid")]
public string Email { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在ASP.NET MVC 2中,我将渲染文本框和验证,如下所示:
<%=Html.LabelFor(x => x.Email)%>
<%=Html.TextBoxFor(x => x.Email)%>
<%=Html.ValidationMessageFor(x => x.Email)%>
Run Code Online (Sandbox Code Playgroud)
如何添加第二个字段以允许用户使用显示名称和模型属性验证来确认其电子邮件地址?
azure ×1
c# ×1
css ×1
encryption ×1
facebook ×1
knockout.js ×1
locking ×1
mercurial ×1
nhibernate ×1
performance ×1
python ×1
python-2.7 ×1
sql-server ×1