要求:当我将以下请求传递给我的应用程序时,
1)如何对这样的输入xml进行XML验证,这是有风险的
2) 如何在libxml2中禁用XXE,即不应该解析ENTITY字段
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY foo SYSTEM "file:///etc/issue">
]><TRANSACTION>
<FUNCTION_TYPE>LINE_ITEM</FUNCTION_TYPE>
<COMMAND>ADD</COMMAND>
<COUNTER>3</COUNTER>
<MAC>qof2EtycqT9YMcmOfKowpyXVbRpgM/7rncS3liK4JOs=</MAC>
<MAC_LABEL>P_206</MAC_LABEL>
<RUNNING_TAX_AMOUNT>0.00</RUNNING_TAX_AMOUNT>
<RUNNING_TRANS_AMOUNT>1.00</RUNNING_TRANS_AMOUNT>
<LINE_ITEMS>
<MERCHANDISE>
<LINE_ITEM_ID>1</LINE_ITEM_ID>
<DESCRIPTION>&foo;</DESCRIPTION>
<QUANTITY>1</QUANTITY>
<UNIT_PRICE>5.00</UNIT_PRICE>
<EXTENDED_PRICE>5.00</EXTENDED_PRICE>
</MERCHANDISE>
</LINE_ITEMS>
</TRANSACTION>
Run Code Online (Sandbox Code Playgroud)
据我所知,从 libxml2 版本 2.9 开始,XXE 默认情况下已被禁用。但我们目前使用的是2.7.7版本。
Enum xmlParserOption 不应在 libxml2 中定义以下选项:
XML_PARSE_NOENT:展开实体并用替换文本替换它们 XML_PARSE_DTDLOAD:加载外部 DTD
到目前为止,我一直在使用xmlParseMemory函数来解析 XML 内存块并构建一棵树。该函数不使用任何参数来设置 xmlParserOption。
然后我更改为xmlReadMemory函数,它也执行与函数相同的操作xmlParseMemory,但采用不同的参数。
docPtr = xmlReadMemory(szXMLMsg, iLen, "noname.xml", NULL, XML_PARSE_RECOVER);
Run Code Online (Sandbox Code Playgroud)
我仍然观察到 ENTITY 字段正在被解析。有人可以帮助我吗?如果您需要更多其他信息,请告诉我。
感谢您的时间。
问候
普拉文
我正在开发 ASP.NET MVC 应用程序,并在其中使用带有实体框架的 Mysql。但是我在执行这样的 Linq 查询时遇到了问题:
var place= dbContext.Places.FirstOrDefault(x => Math.Sqrt(x.Lat) > 0);
Run Code Online (Sandbox Code Playgroud)
我也尝试使用 SqlFunctions:
var place= dbContext.Places.FirstOrDefault(x => SqlFunctions.SquareRoot(x.Lat) > 0);
Run Code Online (Sandbox Code Playgroud)
但无论哪种方式,我都会收到“System.NotSupportedException”:
附加信息:1[System.Double] SquareRoot(System.Nullable无法将类型“System.Data.Entity.SqlServer.SqlFunctions”上的指定方法“System.Nullable 1[System.Decimal])”转换为 LINQ to Entities 存储表达式。
有什么方法可以使用平方根函数,以便将其转换为 LINQ to Entities 表达式?
我需要比较两个相同但包含一些不同数据的表的值.我必须找到并强调那种差异.我怎样才能做到这一点?
<table class="TableA">
<tr>
<td>Head1</td>
<td>Some_Value</td>
</tr>
<tr>
<td>Head2</td>
<td>SomeValue</td>
</tr>
</table>
<table class="TableB">
<tr>
<td>Head1</td>
<td>Some_Value</td>
</tr>
<tr>
<td>Head2</td>
<td>SomeValueDiffValue</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我需要比较这两个表并使用jquery在值单元格中突出显示diff,在上面的示例中我需要在第二个表中突出显示SomeValueButDiff
好的,我修改了Ahmet的代码:
$(".TableB tr").each(function () {
if ($(this).find("td")[1].innerHTML !=
$(".TableA").find("td")[1].innerHTML) {
$(this).find("td")[1].bgColor = "red";
}
Run Code Online (Sandbox Code Playgroud)
});
艾哈迈德,这对我有用.
我正在使用Accordionn jQuery Controls,你可以在下面找到以下网址:
手风琴:http://jqueryui.com/accordion/
问题:我们如何管理无法点击的空菜单; 示例 - 如果我在"第2部分"菜单上没有任何项目,则不应该是可点击的.当我这样做时,要么将下一个父菜单项子项设置为前一个并且失真,或者如果我只留下一个空格,<div> 则打开一个空白菜单而不是可点击.有人可以帮忙吗?
我有这个代码将文件存储到服务器:
function void StoreFile(string inputFileName) {
...
var extension = Path.GetExtension(inputFileName);
if(extension == ".csv") {
var fileName = string.Format("{0}_{1}{2}", Session.SessionID, new Guid(), extension);
var dataFileServerPath = _documentService.getPath(fileName, UserProfile.UserName, UserProfile.SourceID);
if(!string.IsNullOrEmpty(dataFileServerPath)) {
try {
using(FileStream dataFile = new FileStream(dataFileServerPath, FileMode.Create)) { .... }
}
cathc(Exception e) { ... }
}
}
else {
throw new NotSupportedFormatError();
}
}
Run Code Online (Sandbox Code Playgroud)
Aftrer Veracode分析我在线获取目录遍历问题 FileStream dataFile = new FileStream(dataFileServerPath, FileMode.Create)
为什么我在那里遇到这个问题,我已检查文件扩展名是否对我的案例有效并在fileName中传递该值.这是安全问题以及如何解决这个问题?
_documentService.getPath 只需为特定用户的web.config和filename附加路径,它与用户输入无关.
我正在尝试将旧的Window phone 7.5 Silverlight应用程序转换为新的WinRT Universal应用程序,我遇到了这些代码的问题:
<Style TargetType="Button">
<Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Active}" Value="True">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)
我使用DataTrigger根据绑定值设置控件的可见性.
在Windows Phone 8.1 winrt应用程序中,此功能已用完.我已经尝试使用VisualStates来实现相同的功能,但我无法弄明白.任何人都可以帮助我或指导我的好榜样.我被困在这里......
我需要做一些重构,我遇到了这个:
if(LoanTerms.RateIncreasable.HasValue && LoanTerms.RateIncreasable.Value) { ... }
Run Code Online (Sandbox Code Playgroud)
并且LoanTerms.RateIncreasable是类型System.Nullable<bool>
所以我想知道我需要.HasValue检查一下吗?null在if语句中会被视为false吗?
我以前从未编程过Active目录和MVC,需要一些建议.
我正在使用以下代码进行搜索,并获取视图中的用户列表.我不知道我是否走在正确的轨道上,如何在cshtml的列表视图中获取它?
public ActionResult Find()
{
DirectoryEntry entry = new DirectoryEntry(
"LDAP://example..");
DirectorySearcher searcher;
SearchResultCollection results;
searcher = new DirectorySearcher(entry);
searcher.Filter = "(&(objectClass=user)(displayname=*))";
searcher.SearchScope = SearchScope.Subtree;
using (searcher)
{
results = searcher.FindAll();
foreach (SearchResult result in results)
{
string searchOK = result.Properties["displayname"][0].ToString();
objects.Add(searchOK);
}
}
return View();
}
Run Code Online (Sandbox Code Playgroud) 我是新手,ZF2但我做了一些项目ZF.我没有使用任何ajax分页ZF.但现在我需要ajax分页ZF2.我怎么做?
我正在打印哈希[ print Dumper($myhash); ],如下所示:
$VAR1= {
'context_verdict' => 'Failed',
'logfile' => 'abc',
'Block_000' => {
'Element_0032' => {
'e_verdict' => 'FAILED',
'e_name' => 'Element_0032',
'e_log' => 'This is really bad...',
'e_ref' => 'Good'
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想将logfile的值从abc更改为def.怎么实现这个?
我写
$myhash{'$VAR1'}->{'logfile'}="def";
Run Code Online (Sandbox Code Playgroud)
但它不起作用!! 它仍然是"abc".
c# ×4
asp.net-mvc ×2
asp.net ×1
c ×1
datatrigger ×1
hash ×1
html ×1
jquery ×1
jquery-ui ×1
libxml2 ×1
linq ×1
pagination ×1
perl ×1
security ×1
veracode ×1
visualstates ×1
winrt-xaml ×1
xml-parsing ×1
xxe ×1