From 1a4a53b2c0937ba636e8467f79cfde84312a39f2 Mon Sep 17 00:00:00 2001 From: veegishx Date: Thu, 12 Jul 2018 21:57:33 +0400 Subject: [PATCH] Initial commit --- composer.json | 13 +++ config/install/http451.settings.yml | 13 +++ config/schema/http451.schema.yml | 23 +++++ http451.info.yml | 7 ++ http451.links.menu.yml | 5 + http451.module | 16 +++ http451.permissions.yml | 7 ++ http451.routing.yml | 17 +++ http451.services.yml | 5 + readme.md | 18 ++++ screenshot.png | Bin 0 -> 97134 bytes src/Controller/Http451Controller.php | 42 ++++++++ .../Http451RedirectSubscriber.php | 71 +++++++++++++ src/Form/Http451BlockForm.php | 0 src/Form/Http451Form.php | 97 ++++++++++++++++++ src/Form/blocked_ids.json | 0 16 files changed, 334 insertions(+) create mode 100644 composer.json create mode 100644 config/install/http451.settings.yml create mode 100644 config/schema/http451.schema.yml create mode 100644 http451.info.yml create mode 100644 http451.links.menu.yml create mode 100644 http451.module create mode 100644 http451.permissions.yml create mode 100644 http451.routing.yml create mode 100644 http451.services.yml create mode 100644 readme.md create mode 100644 screenshot.png create mode 100644 src/Controller/Http451Controller.php create mode 100644 src/EventSubscriber/Http451RedirectSubscriber.php create mode 100644 src/Form/Http451BlockForm.php create mode 100644 src/Form/Http451Form.php create mode 100644 src/Form/blocked_ids.json diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..26199c9 --- /dev/null +++ b/composer.json @@ -0,0 +1,13 @@ +{ + "name": "veegish/censorship_http451", + "description": "A drupal module to handle http 451 responses", + "license": "GPL-2.0+", + "authors": [ + { + "name": "veegishx", + "email": "veegish240@gmail.com" + } + ], + "minimum-stability": "dev", + "require": {} +} diff --git a/config/install/http451.settings.yml b/config/install/http451.settings.yml new file mode 100644 index 0000000..f7aaf04 --- /dev/null +++ b/config/install/http451.settings.yml @@ -0,0 +1,13 @@ +https451: + page_title: '451 Unavailable For Legal Reasons' + page_status: '451' + page_content: ' + Unavailable For Legal Reasons + +

Unavailable For Legal Reasons

+

This request may not be serviced in the Roman Province + of Judea due to the Lex Julia Majestatis, which disallows + access to resources hosted on servers deemed to be + operated by the People's Front of Judea.

+ + ' \ No newline at end of file diff --git a/config/schema/http451.schema.yml b/config/schema/http451.schema.yml new file mode 100644 index 0000000..cf0a248 --- /dev/null +++ b/config/schema/http451.schema.yml @@ -0,0 +1,23 @@ +http451.settings: + type: config_object + label: 'HTTP451 Settings' + mapping: + http451: + type: mapping + mapping: + page_title: + type: text + label: 'Default title for HTTP451 status page:' + page_content: + type: text + label: 'Default message for HTTP451 error page:' + page_status: + type: text + label: 'Server HTTP 451 Response code' +block.settings.http451: + type: block_settings + label: 'HTTP451 block' + mapping: + http451_block_settings: + type: text + label: 'HTTP451 block settings' \ No newline at end of file diff --git a/http451.info.yml b/http451.info.yml new file mode 100644 index 0000000..4668a81 --- /dev/null +++ b/http451.info.yml @@ -0,0 +1,7 @@ +name: Http 451 +description: This module allows pages to display a http 451 error message +package: Http451 +type: module +core: 8.x + +configure: http451.form diff --git a/http451.links.menu.yml b/http451.links.menu.yml new file mode 100644 index 0000000..25130fa --- /dev/null +++ b/http451.links.menu.yml @@ -0,0 +1,5 @@ +http451.form: + title: http451 Settings + description: Configure the settings for http451 module + route_name: http451.form + parent: system.admin_config_system \ No newline at end of file diff --git a/http451.module b/http451.module new file mode 100644 index 0000000..816b8fe --- /dev/null +++ b/http451.module @@ -0,0 +1,16 @@ + About +

This Drupal module implements http 451 handling as defined by RFC 7725

+ '); + } + } \ No newline at end of file diff --git a/http451.permissions.yml b/http451.permissions.yml new file mode 100644 index 0000000..92cb295 --- /dev/null +++ b/http451.permissions.yml @@ -0,0 +1,7 @@ +configure_http451: + title: 'Module Settings' + description: 'Configuration permissions for administration' + +access_content: + title: 'Block Page' + description: 'This will allow http451 module to block user access to certain pages as per RFC 7725' \ No newline at end of file diff --git a/http451.routing.yml b/http451.routing.yml new file mode 100644 index 0000000..e175671 --- /dev/null +++ b/http451.routing.yml @@ -0,0 +1,17 @@ +# TODO: Route for Http451Controller functions +# Route for module configuration +http451.form: + path: '/admin/config/system/http451' + defaults: + _form: 'Drupal\http451\Form\Http451Form' + _title: 'HTTP451 Configuration settings' + requirements: + _permission: 'configure_http451' + +http451.content: + path: '/node/123' + defaults: + _title: '451 Unavailable for legal reasons' + _controller: '\Drupal\http451\Controller\Http451Controller::http451' + requirements: + _permission: 'access_content' \ No newline at end of file diff --git a/http451.services.yml b/http451.services.yml new file mode 100644 index 0000000..395b59f --- /dev/null +++ b/http451.services.yml @@ -0,0 +1,5 @@ +services: + http451.event_subscriber: + class: Drupal\http451\EventSubscriber\Http451RedirectSubscriber + tags: + - { name: event_subscriber } \ No newline at end of file diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..5a936d8 --- /dev/null +++ b/readme.md @@ -0,0 +1,18 @@ +# HTTP541 Drupal Module + +This is a basic implementation of [RFC 7725](https://tools.ietf.org/html/rfc7725) as a Drupal Module. + +## Installation +* Upload plugin directory to /modules/custom/ directory of your Drupal installation. + +* Make sure the directory `src/Form` is writtable + + +* Activate the plugin on your browser through the 'Extend' service in menu. + +## Usage +* Go to `configuration->System->http451 Settings` and fill in the form to block a post and return a HTTP 451 status + +![configuration_screenshot](screenshot.png "Logo Title Text 1") + +Reference-style: \ No newline at end of file diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..cc87e73055d5a2b80fe9619e180e24fa88fe9ee1 GIT binary patch literal 97134 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 ur@P&fnVBgc|Gg#p-setContent(' + Unavailable For Legal Reasons + +

Unavailable For Legal Reasons

Article with ID '.$node_id.' has been censored

+

This request may not be serviced in the Roman Province + of Judea due to the Lex Julia Majestatis, which disallows + access to resources hosted on servers deemed to be + operated by the People\'s Front of Judea.

+ + '); + + $response->setStatusCode(Response::HTTP_UNAVAILABLE_FOR_LEGAL_REASONS, 'Unavailable For Legal Reasons'); + + $response->headers->set('Content-Type', 'text/html'); + + $response->send(); + } + } +?> \ No newline at end of file diff --git a/src/EventSubscriber/Http451RedirectSubscriber.php b/src/EventSubscriber/Http451RedirectSubscriber.php new file mode 100644 index 0000000..4b4eed8 --- /dev/null +++ b/src/EventSubscriber/Http451RedirectSubscriber.php @@ -0,0 +1,71 @@ + [ + ['redirectMyContentTypeNode'], + ] + ]); + } + + /** + * Redirect requests for my_content_type node detail pages to node/123. + * + * @param GetResponseEvent $event + * @return void + */ + public function redirectMyContentTypeNode(GetResponseEvent $event) { + $request = $event->getRequest(); + $filename = 'blocked_ids.json'; + + // prevents pages like "edit", "revisions", etc from bring redirected. + if ($request->attributes->get('_route') !== 'entity.node.canonical') { + return; + } else { + $current_nodeId = $request->attributes->get('node')->id(); + } + + // Read blocked ids from blocked_ids.json file + $root_dir = realpath(dirname(__FILE__)); + if(file_exists("$root_dir/$filename")) { + $blocked_ids = json_decode(file_get_contents("$root_dir/$filename")); + } + + if ($request->attributes->get('node')->id() !== '4') { + return; + } + + // This is where you set the destination. + $response = new Response(); + + $response->setContent(' + Unavailable For Legal Reasons + +

Unavailable For Legal Reasons

Article with ID '.$current_nodeId.' has been censored

+

This request may not be serviced in the Roman Province + of Judea due to the Lex Julia Majestatis, which disallows + access to resources hosted on servers deemed to be + operated by the People\'s Front of Judea.

+ + '); + + $response->setStatusCode(Response::HTTP_UNAVAILABLE_FOR_LEGAL_REASONS, 'Unavailable For Legal Reasons'); + + $response->headers->set('Content-Type', 'text/html'); + + $response->send(); + } +} \ No newline at end of file diff --git a/src/Form/Http451BlockForm.php b/src/Form/Http451BlockForm.php new file mode 100644 index 0000000..e69de29 diff --git a/src/Form/Http451Form.php b/src/Form/Http451Form.php new file mode 100644 index 0000000..4fb8574 --- /dev/null +++ b/src/Form/Http451Form.php @@ -0,0 +1,97 @@ +config('http451.settings'); + $form['content_id'] = array ( + '#type' => 'textfield', + '#title' => $this->t('Blocked Post IDs: '), + '#required' => TRUE, + ); + + $form['blocking_authority'] = array( + '#type' => 'textfield', + '#title' => $this->t('Name of Authority: '), + '#required' => TRUE, + '#description' => $this->t('You need to specify the name of the authority who requested the takedown.'), + ); + + $form['page_title'] = array( + '#type' => 'textfield', + '#title' => $this->t('Censored page title: '), + '#default_value' => $config->get('http451.page_title'), + '#description' => $this->t('If you wish to use a custom non-standard title to show up on this page, you can set it here.'), + ); + + $form['page_content'] = array( + '#type' => 'textarea', + '#title' => $this->t('Reason for censorship: '), + '#default_value' => $config->get('http451.page_content'), + '#description' => $this->t('If you wish to use a custom message to show up on this page, you can set it here.'), + ); + + $form['save'] = array ( + '#type' => 'submit', + '#value' => $this->t('Block Item') + ); + + return $form; + } + + public function validateForm(array &$form, FormStateInterface $form_state) { + return; + } + + public function submitForm(array &$form, FormStateInterface $form_state) { + $root_dir = realpath(dirname(__FILE__)); + $filename = 'blocked_ids.json'; + $id = $form_state->getValue('content_id'); + $authority = $form_state->getValue('blocking_authority'); + $title = $form_state->getValue('page_title'); + $content = $form_state->getValue('page_content'); + if(is_writable("$root_dir/$filename")) { + $stdin = fopen("$root_dir/$filename", "a+"); + $data = array( + "nid" => $id, + "authority" => $authority, + "title" => $title, + "content" => $content + ); + fwrite($stdin, json_encode($data)); + fclose($stdin); + drupal_set_message(t('WARNING: Resource has been successfully blocked!'), 'warning'); + return true; + } else { + drupal_set_message(t('Error: Please make sure that the module directory is writable. PATH:' . "$root_dir/$filename"), 'error'); + } + return parent::submitForm($form, $form_state); + } +} \ No newline at end of file diff --git a/src/Form/blocked_ids.json b/src/Form/blocked_ids.json new file mode 100644 index 0000000..e69de29