Запутывания в черный список слов в WordPress С ROT13

Бесчисленные алгоритмы шифрования данных существуют в компьютерной науке.Одним из менее известных и менее распространенных кодировок это ROT13, производная Цезарь cypher 1 техники шифрования .

В этом уроке мы узнаем, о шифровании ROT13 и как она работает.Мы увидим, как текст (или строки) может быть программно кодируется в ROT13 помощью PHP.Наконец, мы кодировать плагин WordPress, который сканирует почту для блокированных слова и заменяет любое шифрование ROT13 .

Если у вас есть блог, на котором несколько авторов или определенная группа людей имеют привилегию публикации сообщения, то плагин, который шифрует или полностью удаляет неподходящие слова могут прийти в handy

Прежде чем мы начнем let’ S прояснить кое-что о ROT13.Следует never быть использован для шифрования конфиденциальных данных.В то время как считается, технику шифрования, это “ Привет World” пример шифрования.Это может быть нарушена исключительно легко и, таким образом, никогда не используется на данных, которые зашифрованы в целях безопасности.С нашей цели isn’ т, чтобы защитить данные, чтобы скрыть ненормативную лексику, он будет делать только штрафом для нашего примера .

Introduction

ROT13 (сокращенно “повернуть на 13 мест,” иногда сокращенно РОТ-13) простой метод шифрования для английского, который заменяет каждую букву с одной 13 мест вперед или назад вдоль алфавита.Так, становится N, B становится O, и так далее до М, которое становится Z. Затем последовательность продолжается в начале алфавита: N становится А, О становится Б и так далее до Z, которая становится М.

Главное преимущество над другими ROT13 rot(N) методы (где “N” является целым числом, которое обозначает количество мест вниз алфавита в шифровальщика шифрования Цезаря) является то, что «само-обратная,” это означает, что то же самоеАлгоритм применяется для шифрования и дешифрования данных .

Ниже таблица ROT13 для удобства .

| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
--------------------------------------------------------------------------------------------------------  
| N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M |

Если мы зашифрованы домен smashingmagazine.com в ROT13, результат будет fznfuvatzntnmvar.pbz, и предложение “? Почему куриное пересечь дорогу” станет “Июль qvq гур puvpxra pebff гур ebnq?”

Обратите внимание, что только буквы в алфавите влияет ROT13.Числа, символы, пробелы и все остальные символы остаются неизменными .

Преобразование строк для ROT13 В PHP

PHP включает в себя функцию, str_rot13(), для преобразования строки в его ROT13 кодированного значения.Для кодирования текста в ROT13 использовать эту функцию, необходимо передать текст в качестве аргумента в функцию .

<?php

echo str_rot13('smashingmagazine.com'); // fznfuvatzntnmvar.pbz

echo str_rot13('The best web design and development blog'); // Gur orfg jro qrfvta naq qrirybczrag oybt

Использование rot13 В WordPress

Вооружившись этим знанием, я думал о смысле это может быть удобно в WordPress.Я в конечном итоге создать плагин, который кодирует черный список слов, найденных в должности, используя ROT13 .

Плагин состоит из 15 | ~ области (находится в страницу настроек плагина) вкоторые вы вводите в черный список слова, которые затем сохраняются в базе данных для последующего использования в WordPress должностей .

Без дальнейших суетой, давайте начнем кодирования плагин .

Настройка Plugin

Во-первых, включить файл header 2 .

<?php

/*
Plugin Name: Rot13 Words Blacklist
Plugin URI: http://smashingmagazine.com/
Description: A simple plugin that detects and encrypts blacklisted words in ROT13
Version: 1.0
Author: Agbonghama Collins
Author URI: http://w3guy.com
Text Domain: rot13
Domain Path: /lang/
License: GPL2
*/

Как уже упоминалось, плагин будет иметь страницу настроек с textarea поле, собирает и сохраняет в черный список слова в базу данных WordPress ‘(в частности, options таблица) .

Ниже скриншот, какие настройки плагина (или администратора) страница будет выглядеть .

Settings page of the plugin. 3
( Смотреть большое version __28 | | 4__7 )

Теперь, когда мы знаем, что страница вариантов будет выглядеть, давайте строить его с помощью __35 WordPress ‘| Настройки API 5

Строительство Page

Во-первых, мы создаем элемент подменю в главном меню “Настройки” с помощью add_options_page(), со своей функцией родительского подключили admin_menu действия .

add_action( 'admin_menu', 'rot13_plugin_menu' );

/**
 * Add submenu to main Settings menu
 */
function rot13_plugin_menu() {
	add_options_page(
		__( 'Rot13 Blacklisted Words', 'rot13' ),
		__( 'Rot13 Blacklisted Words', 'rot13' ),
		'manage_options',
		'rot13-words-blacklist',
		'rot13_plugin_settings_page'
	);
}

Пятый параметр add_options_page() это имя функции (rot13_plugin_settings_page), которая призвана выходе содержимое страницы .

Ниже код rot13_plugin_settings_page() .

/**
 * Output the contents of the settings page.
 */
function rot13_plugin_settings_page() {
	echo '<div class="wrap">';
	echo '<h2>', __( 'Rot13 Blacklisted Words', 'rot13' ), '</h2>';
	echo '<form action="options.php" method="post">';
	do_settings_sections( 'rot13-words-blacklist' );
	settings_fields( 'rot13_settings_group' );
	submit_button();
}

Далее мы добавляем новый раздел на страницу “Настройки” с add_settings_section().textarea поле мы уже упоминали ранее, будут добавлены в этот раздел с add_settings_field().Наконец, параметры зарегистрированы register_setting() .

Ниже код add_settings_section(), add_settings_field() и register_setting() .

	// Add the section
	add_settings_section(
		'rot13_setting_section',
		'',
		'rot13_setting_section_callback_function',
		'rot13-words-blacklist'
	);


	// Add the textarea field to the section.
	add_settings_field(
		'blacklisted_words',
		__( 'Blacklisted words', 'rot13' ),
		'rot13_setting_callback_function',
		'rot13-words-blacklist',
		'rot13_setting_section'
	);

	// Register our setting so that $_POST handling is done for us
	register_setting( 'rot13_settings_group', 'rot13_plugin_option', 'sanitize_text_field' );

Три функции выше, должны быть заключены в функции и подключили к admin_init действия, например, так:

/**
* Hook the Settings API to 'admin_init' action
*/
function rot13_settings_api_init() {
// Add the section
add_settings_section(
'rot13_setting_section',
'',
'rot13_setting_section_callback_function',
'rot13-words-blacklist'
);

// Add the t ...

Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров

Comments are closed.