我已经阅读了很多关于XSS以及如何处理的帖子.通常,共识是黑名单上的白名单,并避免使用正则表达式(太多的变体来处理).
我正在研究ASP.Net MVC3应用程序.我需要能够从用户条目中显示HTML(例如<strong>,<ul>,<li>等...)但我不想要任何XSS风险.
我正在通过Nuget使用AntiXSS软件包.在我的模型中,我有
[AllowHtml]
public string UserDetails{ get; set; }
Run Code Online (Sandbox Code Playgroud)
在我看来,我有TinyMCE迷上了textarea.
在我的控制器中,我从View获取帖子并清理它:
using Microsoft.Security.Application;
...
string SanitizedDetails = Sanitizer.GetSafeHtmlFragment(model.UserDetails);
Run Code Online (Sandbox Code Playgroud)
我的问题:我做得对吗?我是否受到大多数XSS问题的保护,还是我咆哮着错误的树?
我们最近开始使用 MaxMind Geolite Database 作为基于 IP 的城市查找。有很多关于将数据导入 SQL Server 的说明(我已经完成了)。现在我需要弄清楚如何在子网中搜索给定的 IP。
数据库架构:
CREATE TABLE GeoIP (
network varchar(20) not null,
geoname_id varchar(20) not null,
registered_country_geoname_id varchar(20) not null,
represented_country_geoname_id varchar(20) not null,
is_anonymous_proxy int,
is_satellite_provider int,
postal_code varchar(20),
latitude Decimal(9,6),
longitude Decimal(9,6),
accuracy_radius int
);
Run Code Online (Sandbox Code Playgroud)
“网络”列包含带有 IP/子网的行数据(例如:1.0.32.0/19、1.0.64.0/20、1.0.80.0/22)
给定一个 IP 地址,我正在尝试编写一个将返回 geoname_id 的 SELECT 语句。
Ex: SELECT geoname_id FROM GeoIP where @user_ip in {some expression}
Run Code Online (Sandbox Code Playgroud)
我想这样做而不必将网络列分解为“low_ip”和“high_ip”BIGINT 列。但是,如果这是唯一的方法,我还可以使用有关如何编写全局 UPDATE 语句以从现有数据添加这些列的一些帮助。
SQL SERVER 2008 需要这个,所以不能使用任何很酷的 Postgres 等功能。
谢谢!!