Browse Source

Added Abuse Reporting information page.

Teknikode 3 years ago

+ 30
- 0
Teknik/Areas/Abuse/AbuseAreaRegistration.cs View File

@@ -0,0 +1,30 @@
using System.Collections.Generic;
using System.Web.Mvc;
using Teknik.Configuration;

namespace Teknik.Areas.Abuse
public class AbuseAreaRegistration : AreaRegistration
public override string AreaName
return "Abuse";

public override void RegisterArea(AreaRegistrationContext context)
Config config = Config.Load();
"Abuse.Index", // Route name
new List<string>() { "abuse" }, // Subdomains
new List<string>() { config.Host }, // domains
"", // URL with parameters
new { controller = "Abuse", action = "Index" }, // Parameter defaults
new[] { typeof(Controllers.AbuseController).Namespace }

+ 26
- 0
Teknik/Areas/Abuse/Controllers/AbuseController.cs View File

@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Teknik.Areas.Abuse.ViewModels;
using Teknik.Attributes;
using Teknik.Controllers;
using Teknik.Filters;

namespace Teknik.Areas.Abuse.Controllers
public class AbuseController : DefaultController
public ActionResult Index()
ViewBag.Title = "Abuse Reporting - " + Config.Title;
ViewBag.Description = "Methods for reporting abuse reports to Teknik Services.";

return View(new AbuseViewModel());

+ 12
- 0
Teknik/Areas/Abuse/ViewModels/AbuseViewModel.cs View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Teknik.ViewModels;

namespace Teknik.Areas.Abuse.ViewModels
public class AbuseViewModel : ViewModelBase

+ 41
- 0
Teknik/Areas/Abuse/Views/Abuse/Index.cshtml View File

@@ -0,0 +1,41 @@
@using Teknik.Utilities
@model Teknik.Areas.Abuse.ViewModels.AbuseViewModel

<div class="container">
<div class="row">
<div class="col-sm-10">
<h2>Abuse Prevention</h2>
The Teknik Abuse Team makes sure to act quickly on all notifications it receives. All notifications received are evaluated by Teknik's Abuse Team, and processed with consideration of the sender's notification and Tekniks <a href="@Url.SubRouteUrl("tos", "TOS.Index")">Terms of Service</a>.
<h3>How to submit an Abuse Notification?</h3>
You can submit a notification to the Teknik Abuse Team by the way of email. Only reports sent by email in the correct format will be accepted.
Teknik Abuse Team: <a href=""></a>
<h3>Requirements for Notifications</h3>
Please follow the requirements stated below when submitting a notification about content hosted and/or transmitted on Teknik. It is imperative that you follow these guidelines; non-compliance may result in a delayed or faulty processing of your notification.
<li>Ensure that the notification is submitted in plain text.</li>
<li>Submit the notification in English language.</li>
<li>Send the abuse notification to the correct email address.</li>
<li>Do not send any notifications from a NO-REPLY email address.</li>
<li>Include your name, address, telephone number and email address.</li>
<li>The notification should reference a static URL that from where the reported content is located or from which the reported conduct occurred. This URL should resolve to the Teknik IP address.</li>
<li>Only include URLs or domains in your abuse notification for which you are seeking resolution.</li>
<li>Provide a description of the content or conduct that you wish to report and why this is infringing your rights or violating applicable law or the applicable Acceptable Use Policy.</li>
<li>For trademark infringement notifications: the registration details (including registration number) for the infringed trademark.</li>
<li>For copyright infringement, please include a description of the copyrighted work you claim has been infringed, including a copy of the copyrighted work or the web page address where the copyrighted work may be found.</li>
<li>For hacking, (D)Dos and malicious software: a description of the illegal activities, including date and timestamp, the IP address of servers that are subject of the illegal activities, the destination port, source port and log files.</li>
<li>Include one of the following key words in the body of your notification: [Child Abuse] [Copyright] [Trademark] [Phishing] [DDOS] [Spam] [Hack] [Malware] [Defamation] [Personal Data]</li>
<li>An electronic or physical signature of a person authorized to act on behalf of the owner of the copyright allegedly infringed.</li>
<li>A statement by you that you have a good faith belief that the disputed use of the material at issue is not authorized by the copyright owner, the agent of the copyright owner or the law.</li>
<li>A statement by you that the information in this notification is accurate and a statement, under penalty of perjury, that you are the copyright owner of the material allegedly infringed or authorized to act on the copyright owner's behalf.</li>

+ 3
- 0
Teknik/Areas/Abuse/Views/_ViewStart.cshtml View File

@@ -0,0 +1,3 @@
Layout = "~/Views/Shared/_Layout.cshtml";

+ 36
- 0
Teknik/Areas/Abuse/Views/web.config View File

@@ -0,0 +1,36 @@
<?xml version="1.0"?>

<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />

<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.Optimization" />
<add namespace="Teknik" />

<add key="webpages:Enabled" value="false" />

<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />

+ 8
- 0
Teknik/Teknik.csproj View File

@@ -217,6 +217,9 @@
<Compile Include="Areas\About\AboutAreaRegistration.cs" />
<Compile Include="Areas\About\Controllers\AboutController.cs" />
<Compile Include="Areas\About\ViewModels\AboutViewModel.cs" />
<Compile Include="Areas\Abuse\AbuseAreaRegistration.cs" />
<Compile Include="Areas\Abuse\Controllers\AbuseController.cs" />
<Compile Include="Areas\Abuse\ViewModels\AbuseViewModel.cs" />
<Compile Include="Areas\Admin\AdminAreaRegistration.cs" />
<Compile Include="Areas\Admin\Controllers\AdminController.cs" />
<Compile Include="Areas\Admin\ViewModels\DashboardViewModel.cs" />
@@ -686,6 +689,9 @@
<Content Include="Areas\User\Views\User\Settings\UploadSettings.cshtml" />
<Content Include="Areas\User\Views\User\Settings\SettingsBase.cshtml" />
<Content Include="Areas\User\Views\User\Settings\InviteCode.cshtml" />
<Content Include="Areas\Abuse\Views\web.config" />
<Content Include="Areas\Abuse\Views\Abuse\Index.cshtml" />
<Content Include="Areas\Abuse\Views\_ViewStart.cshtml" />
<None Include="Properties\PublishProfiles\Teknik Dev.pubxml" />
<None Include="Properties\PublishProfiles\Teknik Production.pubxml" />
<None Include="Scripts\jquery-2.1.4.intellisense.js" />
@@ -764,6 +770,8 @@
<Folder Include="Areas\About\Models\" />
<Folder Include="Areas\About\Views\Shared\" />
<Folder Include="Areas\Abuse\Models\" />
<Folder Include="Areas\Abuse\Views\Shared\" />
<Folder Include="Areas\Admin\Models\" />
<Folder Include="Areas\Admin\Views\Shared\" />
<Folder Include="Areas\API\Views\APIv1\" />

+ 1
- 1
Teknik/Views/Shared/_Footer.cshtml View File

@@ -51,7 +51,7 @@
<div class="row">
<div class="col-sm-5 col-sm-offset-1 text-left text-muted">
&copy; Teknik 2013-2018 | <a href="@Url.SubRouteUrl("faq", "FAQ.Index")">FAQ</a> | <a href="@Url.SubRouteUrl("privacy", "Privacy.Index")">Privacy</a> | <a href="@Url.SubRouteUrl("tos", "TOS.Index")">TOS</a> | <a href="@Url.SubRouteUrl("status", "Status.Index")">Status</a>
&copy; Teknik 2013-2018 | <a href="@Url.SubRouteUrl("faq", "FAQ.Index")">FAQ</a> | <a href="@Url.SubRouteUrl("privacy", "Privacy.Index")">Privacy</a> | <a href="@Url.SubRouteUrl("tos", "TOS.Index")">TOS</a> | <a href="@Url.SubRouteUrl("status", "Status.Index")">Status</a> | <a href="@Url.SubRouteUrl("abuse", "Abuse.Index")">Abuse</a>
<div class="col-sm-5 text-right text-muted">
<div id="pagetime" style="display:none;">