小编Jus*_*ant的帖子

使用WinINET为虚拟用户创建强大的HTTP连接

我正在制作一个程序,使用Wininet系列API在Windows上从Internet下载一个简单的文件,因为我想利用它与IE兼容的代理行为.众所周知,目前的IE有几个代理设置:自动检测(WPAD),自动配置(PAC),手动单URL,每个协议的代理服务器,袜子,直接,...对于大多数用户,"直接下载" 工作良好; 但对于某些用户(特别是那些在防火墙/ NAT后面的用户),他们在建立连接时总是需要特殊的代理设置.

编写代码来处理所有这些情况是很痛苦的,所以我希望WinINET InternetOpen (INTERNET_OPEN_TYPE_PRECONFIG)可以帮助我.它适用于大多数用户,但我仍然发现一些用户抱怨连接失败.这些用户可能具有非常特殊的网络环境(例如,需要用户名/密码auth代理)并且直接连接不适用于他们.

有时虚拟用户配置错误,我想让wininet为我尝试"全部"可能的代理设置; 遗憾的是,INTERNET_OPEN_TYPE_PRECONFIG只会尝试用户配置的那个,而不是"每个可能的代理设置".

所以我的问题是,如何使一个程序具有最强大的能力来解决虚拟用户的所有http连接(特别是代理配置)(即,他们不了解如何配置他们的系统)?是否有任何建议的方式来建立HTTP连接而无需处理代理内容?(即,"超级"连接解算器将尝试所有可能的代理设置),或者是否有任何方法告诉WinINET启用其所有代理设置来创建连接?

proxy winapi wininet winhttp

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

将WMD编辑器的预览HTML与服务器端HTML验证对齐(例如,没有嵌入式JavaScript代码)

有许多Stack Overflow问题(例如,白名单,阻止XSS在C#WMD Markdown和服务器端使用WMD控制)关于如何对WMD编辑器生成的Markdown进行服务器端清理,以确保生成的HTML不包含恶意脚本,像这样:

<img onload="alert('haha');" 
   src="http://www.google.com/intl/en_ALL/images/srpr/logo1w.png" />
Run Code Online (Sandbox Code Playgroud)

但我也找不到在客户端插上漏洞的好方法.当然,客户端验证不能替代服务器上的擦除验证,因为任何人都可以伪装成客户端并发布令人讨厌的Markdown.如果你在服务器上清理HTML,攻击者就无法保存坏的HTML,因此以后没有其他人能够看到它并且他们的cookie被盗或被坏脚本劫持的会话.因此,有一个有效的案例可能不值得在WMD预览窗格中强制执行无脚本规则.

但想象一下,攻击者找到了将恶意Markdown放到服务器上的方法(例如,来自其他站点的受感染的源,或者在修复XSS错误之前添加的内容).将markdown转换为HTML时应用的服务器端白名单通常可以防止向用户显示错误的Markdown.但是,如果攻击者可以让某人编辑该页面(例如,通过发布另一个条目,说恶意条目有一个断开的链接并要求某人修复它),那么编辑该页面的任何人都会被劫持.这无疑是一个极端的案例,但它仍然值得防范.

此外,允许客户端预览窗口允许不同于服务器允许的HTML,这可能是一个坏主意.

Stack Overflow团队通过更改WMD来堵塞这个漏洞.他们是如何做到的呢?

[注意:我已经想到了这一点,但它需要一些棘手的JavaScript调试,所以我在这里回答我自己的问题,以帮助其他人可能想要做同样的事情].

javascript xss wmd wmd-editor

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

将python对象序列化为python源代码

我有一个python字典,我想序列化为初始化该字典的键和值所需的python源代码。

我在寻找类似的东西json.dumps(),但是输出格式应该是Python,而不是JSON。

我的对象非常简单:这是一本字典,其值是以下值之一:

  1. 内置类型文字(字符串,整数等)
  2. 文字列表

我知道我可以自己构建一个,但是我怀疑有些情况涉及嵌套对象,关键字转义等。因此,我更喜欢使用已经解决了一些问题的现有库。

python serialization json code-generation

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

具有拖放堆栈排名的工作项跟踪工具?

我正在寻找一个工作项跟踪/错误跟踪系统(或JIRA插件,或TFS插件,或......),它可以轻松地对工作项进行堆栈排名,而无需为每项工作手动分配优先级值项目.

相反,我们的团队希望能够查看打开的工作项列表,并能够拖放一个或多个工作项,直到订单与团队的优先级相匹配.这比争论优先级数字和处理关系要容易得多(例如,"我今天应该处理的5个优先级为2的错误中的哪一个?").

我们的团队正在考虑切换工作项目跟踪器(我们现在使用Gemini),并且我们的要求列表中有一个好的拖放优先级的可用性.

我意识到拖放排名是非常重要的,因为没有团队会对所有工作项进行排名.相反,我们想要一个子集(例如,一个sprint sprint或者迭代的工作项,或者分配给一个开发人员的bug)和stackrank那些,然后看一个不同的子集并堆叠那些等等.我确定我们有时需要混合和匹配不同的堆栈,因此需要有关于如何显示先前单独堆叠的堆栈项目的启发式(理想情况下可配置).

Pivotal Tracker接近我从UI角度思考的拖放UI,但Pivotal将用户故事与基础工作项(以及其他一些问题)分离的模型与我们想要的工作方式不符.我们不希望必须处理不同的工件(故事与JIRA/BugZilla工作项) - 相反,我们只需要一个拖放式UI来自动填写问题跟踪器中的"优先级"字段,并且我们以后可以在排序和过滤时使用它.我们不希望使用Pivotal作为我们唯一的工作项跟踪器,因为它似乎缺乏批量编辑等常见功能,这对大型项目至关重要.

有人知道像我上面描述的工具吗?

tfs scrum bug-tracking workitem jira

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

通过ADO.NET检索SET STATISTICS IO和SET STATISTICS TIME值?

通过Management Studio执行T-SQL查询时,我可以使用SET STATISTICS IO ONSET STATISTICS TIME ON捕获统计信息以进行查询调优.

当我使用.NET客户端API执行T-SQL查询而不是使用Mangaement Studio的UI时,如何收集相同的统计信息?

这似乎是一个显而易见的事情,但在搜索MSDN和Google很长一段时间后,我很难过.我发现最接近的是MSDN上的SQL Server提供商统计信息(ADO.NET),但这些统计信息似乎是客户端关于网络连接的统计信息(例如,发送/接收的字节数),从客户端的角度来看,而不是服务器端统计信息我在找.

.net t-sql sql-server ado.net query-tuning

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

使用CSS3过渡动画jQueryUI Sortable

我如何使用CSS3过渡(或任何其他方法)使jQuery Sortable行为更像iOS中的列表重新排序,其中列表项在拖动时平滑动画,因此当您拖动时项目会匆匆忙忙?

[编辑将其变成常见问题解答,为其他想要解决这个问题的人节省时间]

jquery-ui css3 jquery-ui-sortable css-transitions jquery-animate

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

看起来像iOS7左导航雪佛龙的Unicode字符

什么是最接近iOS7 +向后导航栏V形的大小(大于或大于大写字母)和形状的Unicode字符?

在此处输入图片说明

我正在寻找一种使用unicode字符来模拟通常不具有“后退”导航功能的视图的“后退” V形符号的方法。

常规<(小于号)不是很好,因为它不够高且没有垂直居中。A ‹(欧洲的左引号)在垂直方向上居中,但高度也不高。?(U + 1438)是迄今为止我发现的最好的,因为它像一个大写字母一样高,但是它的角度是52°,而iOS箭头是90°,因此它看起来有所不同,并且占用了大量额外的水平实线。房地产。

对于具有比锐角小的锐角的全高V形V形,还有其他更好的选择吗?(U + 1438)?

它不一定是完美的,只要足够接近就可以为我们争取时间,直到我们的团队可以使用真实图像实现自定义视图为止。

unicode uinavigationbar ios ios7

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

如何使VSCode显示*未*在编辑器中打开的文件的TypeScript错误?

在我的create-react-app@2.1.8TypeScript / React应用中,TS编译器错误仅显示在我在VS Code编辑器中打开的文件的“问题”窗格中。结果,有时我直到真正运行该应用程序时才捕获错误。

打开工作区或将更改保存到文件后,如何让TypeScript自动检查所有代码文件中的编译器错误?

我曾尝试将"watch": "tsc --watch"脚本添加为脚本package.json,然后npm run-script watch在集成的终端窗格中进行操作,但这有两个问题:

  • 错误显示在终端窗格中,但不填充VSCode中的“问题”窗格
  • 我必须手动运行它,而不是在工作区加载时自动启动

有更好的解决方案吗?

顺便说一句,这与在webstorm中显示项目范围内的TypeScript问题/错误是相同的问题,但是关于Visual Studio Code而不是webstorm。

typescript reactjs visual-studio-code create-react-app

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

实体框架ObjectContext - >对本机DBMS的原始SQL调用

我有一个使用ADO.NET实体框架的应用程序(VS2008版本,而不是更新,更酷的版本),我需要能够调用底层DBMS(它的postgres)以调用一些SQL实体框架不支持.

有没有办法从实体框架ObjectContext转到可以让我执行原始SQL的东西?(我需要在插入之前运行TRUNCATE TABLE)我可以使用hacky解决方案(例如从EF中提取DBMS的连接字符串信息,并使用它来使用postgres ADO.NET提供程序创建连接)但不要想要管理两组连接字符串(一个用于实体框架,一个用于ADO.NET).

我知道实体框架的第一个版本的限制,但是将这个应用程序切换到另一个ORM所需的投资是不值得的,并且使用EF 4.0也不是一个选项.

有任何想法吗?

顺便说一下,这是同样的问题,是否可以使用实体框架运行本机sql?,但该答案中描述的解决方法对我不起作用,因为我确实需要执行原始SQL.

.net postgresql ado.net entity-framework

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

撤消git或tortoisegit中的revert

是否有一种简单的方法来撤消tortoisegit还原?

这里有更多信息:我刚刚提交了一个大型的多文件签入,之后我决定在大版本之前提交一个单独的小签到,以便更容易修改明天的大签入.

所以我提起登录tortoisegit,右键点击最后一次检查,然后选择"恢复".这解决了更改并删除了我工作目录中的一堆文件.我真正想要的是"重置"(回滚签到并按原样保留我的工作目录),而不是恢复(在我的工作目录中创建"撤销签入").

如何撤消我的恢复?

git tortoisegit git-revert

4
推荐指数
2
解决办法
8111
查看次数