|
|
@@ -281,10 +281,7 @@ namespace Masuit.MyBlogs.Core.Controllers
|
|
|
protected Expression<Func<Post, bool>> PostBaseWhere()
|
|
|
{
|
|
|
var location = Request.Location() + "|" + Request.Headers[HeaderNames.Referer] + "|" + Request.Headers[HeaderNames.UserAgent];
|
|
|
- return p => p.LimitMode == null || p.LimitMode == RegionLimitMode.All ? true :
|
|
|
- p.LimitMode == RegionLimitMode.AllowRegion ? Regex.IsMatch(location, p.Regions) :
|
|
|
- p.LimitMode == RegionLimitMode.ForbidRegion ? !Regex.IsMatch(location, p.Regions) :
|
|
|
- p.LimitMode == RegionLimitMode.AllowRegionExceptForbidRegion ? Regex.IsMatch(location, p.Regions) && !Regex.IsMatch(location, p.ExceptRegions) : !Regex.IsMatch(location, p.Regions) || Regex.IsMatch(location, p.ExceptRegions);
|
|
|
+ return p => p.LimitMode != RegionLimitMode.OnlyForSearchEngine && (p.LimitMode == null || p.LimitMode == RegionLimitMode.All ? true : p.LimitMode == RegionLimitMode.AllowRegion ? Regex.IsMatch(location, p.Regions) : p.LimitMode == RegionLimitMode.ForbidRegion ? !Regex.IsMatch(location, p.Regions) : p.LimitMode == RegionLimitMode.AllowRegionExceptForbidRegion ? Regex.IsMatch(location, p.Regions) && !Regex.IsMatch(location, p.ExceptRegions) : !Regex.IsMatch(location, p.Regions) || Regex.IsMatch(location, p.ExceptRegions));
|
|
|
}
|
|
|
|
|
|
private void CheckPermission(Post post)
|
|
|
@@ -292,6 +289,10 @@ namespace Masuit.MyBlogs.Core.Controllers
|
|
|
var location = Request.Location() + "|" + Request.Headers[HeaderNames.Referer] + "|" + Request.Headers[HeaderNames.UserAgent];
|
|
|
switch (post.LimitMode)
|
|
|
{
|
|
|
+ case RegionLimitMode.OnlyForSearchEngine:
|
|
|
+ Disallow(post);
|
|
|
+ break;
|
|
|
+
|
|
|
case RegionLimitMode.AllowRegion:
|
|
|
if (!Regex.IsMatch(location, post.Regions) && !Request.IsRobot())
|
|
|
{
|