ওয়ার্ডপ্রেস ব্যবহারকারীদের ব্যবহার করার কোনও উপায় আছে তবে পুরো ওয়ার্ডপ্রেস কোর লোড না করে?


11

আমার কাছে একটি ওয়ার্ডপ্রেস সাইট এবং একটি ওয়েব অ্যাপ্লিকেশন রয়েছে যা কেবলমাত্র নিবন্ধিত (ওয়ার্ডপ্রেস) ব্যবহারকারীরা ব্যবহার করতে পারেন।

এখন wp-blog-header.phpব্যবহারকারী লগ ইন করেছেন কিনা তা যাচাই করতে আমি লোড করছি । সবকিছু ঠিকঠাক চলছে তবে প্রতিটি অনুরোধে (এজাজ সহ) আমাকে ওয়ার্ডপ্রেস কোরটিও লোড করতে হবে, এটি আমার অ্যাপ্লিকেশনটি দৃশ্যমানভাবে কমিয়ে দেয় (মোট থেকে from০% এরও বেশি) লোড সময়)।

ওয়ার্ডপ্রেস ব্যবহারকারীদের ব্যবহার করার কি কোনও সহজ উপায় আছে তবে পুরো ওয়ার্ডপ্রেস কোরটি লোড না করে?

আপডেট: আমার জানা দরকার যে কোন ব্যবহারকারী লগ ইন করেছেন এবং সুরক্ষাও গুরুত্বপূর্ণ।

ধন্যবাদ!

উত্তর:


9

যদি আমার এটি করতে হয় তবে আমি লগইন নির্ধারণ করতে আমার নিজের কুকি ব্যবহার করব এবং যখন প্রয়োজন হবে তখন যাচাই করার জন্য কেবল ওয়ার্ডপ্রেস লোড করব।

ওয়ার্ডপ্রেস_লগড_ইন_ {কিছু-হ্যাশ} কুকি ব্যবহারকারী নির্ধারণ করতে ব্যবহার করা যেতে পারে এবং ওয়ার্ডপ্রেস এটি নির্ধারণ করতে ব্যবহার করে। আপনি এটি সহজেই পুনরায় সরবরাহ করতে পারবেন না তবে আপনি একাধিক অনুরোধে ওয়ার্ডপ্রেস লোড না করে এটি ব্যবহার করতে পারেন।

উদাহরণস্বরূপ, এখানে আমার কুকি হ্যাশ (সম্পূর্ণভাবে তৈরি ডেটা, তবে বাস্তববাদী):

key: wordpress_logged_in_1234567890abcdef1234567890abcdef
value: admin|1234567890|abcdef1234567890abcdef1234567890

ওয়ার্ডপ্রেস যেভাবে কীভাবে কুকি বৈধ তা অপ্রাসঙ্গিক তা জানেন, আপনার যা যা জানা দরকার তা হ'ল এটি একবারে বৈধ কিনা, তারপরে আপনি এটি একটি গোপনীয়তার সাথে সই করেন।

সুতরাং, প্রথমবার, ব্যবহারকারী এখনও প্রমাণিত হয় নি। আপনি wp-load.php লোড করেন এবং ডাব্লুপি কুকিকে বৈধতা দেয় এবং ব্যবহারকারীর লগ ইন করে the ব্যবহারকারী এখন লগইন হয়েছে তা প্রমাণ করার জন্য আপনি যা কিছু করেন এখনই করুন, তারপরে আপনি নিজের কুকি সেট করে। কীটি আপনার কাছে যে কোনও কাস্টম হতে পারে, আপনি হ্যাশ_হ্যাম্যাক ফাংশনটি ব্যবহার করে কোনও সিক্রেট কী দিয়ে কোনও বার্তা হজমের মানকে পরিণত করেন।

$key = ... // the key from the WP cookie
$value = ... // the value from the WP cookie
$hash = hash_hmac ( 'md5' , $key.$value , 'some secret key' );

আপনি জিব্বারিশ ফিরে পাবেন, যা আপনি সেটকুকি () ব্যবহার করে তাদের কাছে ফেরত পাঠিয়েছেন। ভবিষ্যতের অনুরোধে, তারা এই কুকিটি আপনার কাছে ফেরত পাঠাবে। আপনি এটি প্রথম পরীক্ষা করতে পারেন এবং একই হ্যাশ ফাংশন এবং গোপন কী ব্যবহার করে এটি বৈধ করতে পারেন।

কেবলমাত্র আপনি হ্যাশ তৈরি করতে পারবেন কারণ গোপন কীটি কেবল আপনি জানেন। সুতরাং যদি তারা কোনও বৈধ হ্যাশ ফেরত পাঠায় যা তারা তাদের ডাব্লুপি কুকির জন্য যা পাঠায় তার সাথেও মেলে, তবে আপনি জানেন যে সেগুলি আগে আপনার কোডের মাধ্যমে ডাব্লুপি দিয়ে বৈধ হয়ে গেছে এবং আপনি সেই মান থেকে সঠিক নামটি পেতে পারেন (এটি প্রথম কুকির অংশ, স্পষ্টতই)। তারপরে আপনাকে ডাব্লুপিপি লোড করতে হবে না।

গোপন কী, বিটিডাব্লু, দীর্ঘ এবং এলোমেলো হওয়া উচিত । সংক্ষিপ্ত পাসওয়ার্ড নয়। অভিধানের শব্দ নয়। সবেমাত্র বড় অযৌক্তিক জিব্বারিশ। লাইন গোলমাল, এবং এটি প্রচুর। উদাহরণ কী: 'GHY5hFNqq4Ntdu=3:SUp8#/+_W!- @@^@xslN*L|N+Vn;(1xo8jNyp,au$v9Ki5*'


4

কারণ আমি ব্যবহারকারীদের পরিচালনার পাশে কিছু ওয়ার্ডপ্রেস ফাংশনও ব্যবহার করছি আমি ডাব্লুপি কোর লোড করা চালিয়ে যাওয়ার সিদ্ধান্ত নিয়েছি তবে আমি একটি কাস্টম ফাইল তৈরি করেছি যা কেবলমাত্র আমার যা প্রয়োজন লোড করে এবং প্লাগিনগুলি লোড না করেই লোড করে। নতুন লোডিং সময়টি সন্তোষজনক (এটি পুরো ডাব্লুপিপি লোডের 1.5s থেকে কমিয়ে 0.3 এ দাঁড়িয়েছে)

আমি 'ডাব্লুপি-লোড-ন্যূনতম.পিপি' নামে একটি ফাইল তৈরি করেছি এবং আমি এই ফাইলটিকে 'ডাব্লুপি-ব্লগ-হেডার.এফপি' পরিবর্তে কল করি

এটি ডাব্লুপিপি ৩.৩ এর জন্য উদ্বেগজনক। ফাইলটির বিষয়বস্তু এখানে দেওয়া আছে, যদি আপনি এটি দরকারী মনে করেন:

<?php

//this stops wp-settings from load everything
define ('SHORTINIT',true);

error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR );

/** Define ABSPATH as this files directory */
define( 'ABSPATH', dirname(__FILE__) . '/' );

//WP config file
require ('wp-config.php');

if (SHORTINIT):

// Load the l18n library.
require( ABSPATH . WPINC . '/l10n.php' );

// Run the installer if WordPress is not installed.
wp_not_installed();


// Load most of WordPress.
require( ABSPATH . WPINC . '/class-wp-walker.php' );
//require( ABSPATH . WPINC . '/class-wp-ajax-response.php' );
require( ABSPATH . WPINC . '/formatting.php' );
require( ABSPATH . WPINC . '/capabilities.php' );
require( ABSPATH . WPINC . '/query.php' );
require( ABSPATH . WPINC . '/theme.php' );
require( ABSPATH . WPINC . '/user.php' );
require( ABSPATH . WPINC . '/meta.php' );
require( ABSPATH . WPINC . '/general-template.php' );
require( ABSPATH . WPINC . '/link-template.php' );
//require( ABSPATH . WPINC . '/author-template.php' );
require( ABSPATH . WPINC . '/post.php' );
//require( ABSPATH . WPINC . '/post-template.php' );
//require( ABSPATH . WPINC . '/category.php' );
//require( ABSPATH . WPINC . '/category-template.php' );
require( ABSPATH . WPINC . '/comment.php' );
//require( ABSPATH . WPINC . '/comment-template.php' );
require( ABSPATH . WPINC . '/rewrite.php' );
//require( ABSPATH . WPINC . '/feed.php' );
//require( ABSPATH . WPINC . '/bookmark.php' );
//require( ABSPATH . WPINC . '/bookmark-template.php' );
require( ABSPATH . WPINC . '/kses.php' );
require( ABSPATH . WPINC . '/cron.php' );
//require( ABSPATH . WPINC . '/deprecated.php' );
require( ABSPATH . WPINC . '/script-loader.php' );
require( ABSPATH . WPINC . '/taxonomy.php' );
//require( ABSPATH . WPINC . '/update.php' );
//require( ABSPATH . WPINC . '/canonical.php' );
require( ABSPATH . WPINC . '/shortcodes.php' );
require( ABSPATH . WPINC . '/media.php' );
require( ABSPATH . WPINC . '/http.php' );
require( ABSPATH . WPINC . '/class-http.php' );
require( ABSPATH . WPINC . '/widgets.php' );
require( ABSPATH . WPINC . '/nav-menu.php' );
//require( ABSPATH . WPINC . '/nav-menu-template.php' );
//require( ABSPATH . WPINC . '/admin-bar.php' );

// Load multisite-specific files.
if ( is_multisite() ) {
    require( ABSPATH . WPINC . '/ms-functions.php' );
    require( ABSPATH . WPINC . '/ms-default-filters.php' );
    require( ABSPATH . WPINC . '/ms-deprecated.php' );
}

// Define constants that rely on the API to obtain the default value.
// Define must-use plugin directory constants, which may be overridden in the sunrise.php drop-in.
wp_plugin_directory_constants( );

// Load must-use plugins.
/*foreach ( wp_get_mu_plugins() as $mu_plugin ) {
    include_once( $mu_plugin );
}
unset( $mu_plugin );*/

// Load network activated plugins.
if ( is_multisite() ) {
    foreach( wp_get_active_network_plugins() as $network_plugin ) {
        include_once( $network_plugin );
    }
    unset( $network_plugin );
}

do_action( 'muplugins_loaded' );

if ( is_multisite() )
    ms_cookie_constants(  );

// Define constants after multisite is loaded. Cookie-related constants may be overridden in ms_network_cookies().
wp_cookie_constants( );

// Define and enforce our SSL constants
wp_ssl_constants( );

// Create common globals.
require( ABSPATH . WPINC . '/vars.php' );

// Make taxonomies and posts available to plugins and themes.
// @plugin authors: warning: these get registered again on the init hook.
create_initial_taxonomies();
create_initial_post_types();

// Register the default theme directory root
//register_theme_directory( get_theme_root() );

// Load active plugins.
/*foreach ( wp_get_active_and_valid_plugins() as $plugin )
    include_once( $plugin );
unset( $plugin );*/

// Load pluggable functions.
require( ABSPATH . WPINC . '/pluggable.php' );
//require( ABSPATH . WPINC . '/pluggable-deprecated.php' );

// Set internal encoding.
wp_set_internal_encoding();

// Run wp_cache_postload() if object cache is enabled and the function exists.
if ( WP_CACHE && function_exists( 'wp_cache_postload' ) )
    wp_cache_postload();

do_action( 'plugins_loaded' );

// Define constants which affect functionality if not already defined.
wp_functionality_constants( );

// Add magic quotes and set up $_REQUEST ( $_GET + $_POST )
wp_magic_quotes();

do_action( 'sanitize_comment_cookies' );

/**
 * WordPress Query object
 * @global object $wp_the_query
 * @since 2.0.0
 */
$wp_the_query = new WP_Query();

/**
 * Holds the reference to @see $wp_the_query
 * Use this global for WordPress queries
 * @global object $wp_query
 * @since 1.5.0
 */
$wp_query =& $wp_the_query;

/**
 * Holds the WordPress Rewrite object for creating pretty URLs
 * @global object $wp_rewrite
 * @since 1.5.0
 */
$wp_rewrite = new WP_Rewrite();

/**
 * WordPress Object
 * @global object $wp
 * @since 2.0.0
 */
$wp = new WP();

/**
 * WordPress Widget Factory Object
 * @global object $wp_widget_factory
 * @since 2.8.0
 */
$GLOBALS['wp_widget_factory'] = new WP_Widget_Factory();

do_action( 'setup_theme' );

// Define the template related constants.
wp_templating_constants(  );

// Load the default text localization domain.
load_default_textdomain();

// Find the blog locale.
$locale = get_locale();
$locale_file = WP_LANG_DIR . "/$locale.php";
if ( ( 0 === validate_file( $locale ) ) && is_readable( $locale_file ) )
    require( $locale_file );
unset($locale_file);

// Pull in locale data after loading text domain.
require( ABSPATH . WPINC . '/locale.php' );

/**
 * WordPress Locale object for loading locale domain date and various strings.
 * @global object $wp_locale
 * @since 2.1.0
 */
$GLOBALS['wp_locale'] = new WP_Locale();

// Load the functions for the active theme, for both parent and child theme if applicable.
/*if ( ! defined( 'WP_INSTALLING' ) || 'wp-activate.php' === $pagenow ) {
    if ( TEMPLATEPATH !== STYLESHEETPATH && file_exists( STYLESHEETPATH . '/functions.php' ) )
        include( STYLESHEETPATH . '/functions.php' );
    if ( file_exists( TEMPLATEPATH . '/functions.php' ) )
        include( TEMPLATEPATH . '/functions.php' );
}*/

do_action( 'after_setup_theme' );

// Load any template functions the theme supports.
//require_if_theme_supports( 'post-thumbnails', ABSPATH . WPINC . '/post-thumbnail-template.php' );

// Set up current user.
$wp->init();

/**
 * Most of WP is loaded at this stage, and the user is authenticated. WP continues
 * to load on the init hook that follows (e.g. widgets), and many plugins instantiate
 * themselves on it for all sorts of reasons (e.g. they need a user, a taxonomy, etc.).
 *
 * If you wish to plug an action once WP is loaded, use the wp_loaded hook below.
 */
do_action( 'init' );

// Check site status
if ( is_multisite() ) {
    if ( true !== ( $file = ms_site_check() ) ) {
        require( $file );
        die();
    }
    unset($file);
}

/**
 * This hook is fired once WP, all plugins, and the theme are fully loaded and instantiated.
 *
 * AJAX requests should use wp-admin/admin-ajax.php. admin-ajax.php can handle requests for
 * users not logged in.
 *
 * @link http://codex.wordpress.org/AJAX_in_Plugins
 *
 * @since 3.0.0
 */
do_action('wp_loaded');

endif;

//require( ABSPATH . WPINC . '/pluggable.php' );

1
এটা একটা ভালো বুদ্ধি. একটি পরামর্শ: আপনি সম্ভবত প্লাগইন লোডিং এবং কোয়েরি সেট আপ করতে পারেন (অবশ্যই আপনার ব্যবহারের ক্ষেত্রে নির্ভর করে)।
chrisguitarguy

3

ওয়ার্ডপ্রেস 4.9 এর জন্য: যেমন আমি মন্তব্য করতে পারি না (নতুন ব্যবহারকারী)। চূড়ান্ত সানশন (একক WP ইনস্টল) আমি তৈরি is_user_logged_in()এবং current_user_can()কাজের জন্য ব্যবহার করি , নীচে অনুসরণ করা হয়। আমরা require('wp-load.php') প্রথম (লোড ব্লগ header.php মধ্যে WP () এড়িয়ে যেতে) , এবং পেতে ABSPATHধ্রুবক তাহলে ম্যানুয়ালি অন্তর্ভুক্ত ঠিক সব উপাদান প্রয়োজন।

ব্যবহার define('SHORTINIT', true)+ + require('wp-load.php')+ + ম্যানুয়ালি রয়েছে:

পেজলোড: 1.05 সেক - অন্তর্ভুক্ত ফাইলগুলি: 43 টি ফাইল

তুলনা: কেবলমাত্র ব্যবহার require('wp-load.php'):

পেজলোড: 1.35 সেক - অন্তর্ভুক্ত ফাইলগুলি: 419 ফাইল

সময়ের পার্থক্য (০.০ সেকেন্ড) ইনস্টল এবং পিএইচপি ইঞ্জিন থেকে পৃথক হতে পারে, তবে এক পৃষ্ঠার লোড-থিংসে অনেকগুলি অনুরোধ বৈধ করার সময়!

ডাব্লুপি ইনস্টলড দিরের আপেক্ষিক কলটি ব্যবহার করতে ভুলবেন না। একটি ওয়ার্ডপ্রেস কাস্টম প্লাগইন ডির থেকে, একটি সাবডির স্তরের অভ্যন্তরে, সাধারণ ইনস্টল করুন, একটি পাথের মতো হওয়া উচিত:

$wordpress = '../../../../wp-load.php';

তারপর:

define('SHORTINIT', true);
include_once $wordpress;

require_once ( ABSPATH . WPINC . '/class-wp-user.php' );
require_once ( ABSPATH . WPINC . '/class-wp-roles.php' );
require_once ( ABSPATH . WPINC . '/class-wp-role.php' );
require_once ( ABSPATH . WPINC . '/class-wp-session-tokens.php' );
require_once ( ABSPATH . WPINC . '/class-wp-user-meta-session-tokens.php' );
require_once ( ABSPATH . WPINC . '/formatting.php' );
require_once ( ABSPATH . WPINC . '/capabilities.php' );
//require_once ( ABSPATH . WPINC . '/query.php' ); // - might be useful
require_once ( ABSPATH . WPINC . '/user.php' );
require_once ( ABSPATH . WPINC . '/meta.php' );

wp_cookie_constants();

require_once ( ABSPATH . WPINC . '/vars.php' );
require_once ( ABSPATH . WPINC . '/kses.php' );
require_once ( ABSPATH . WPINC . '/rest-api.php' );
require_once ( ABSPATH . WPINC . '/pluggable.php' );

এর পরে, ব্যবহারকারীর বৈধতা অ্যাক্সেসযোগ্য। অন্য কাজের জন্য, এক বা দু'টি অনুরোধ অবিচ্ছিন্ন করা , অন্যান্য প্রয়োজনীয় ফাইলগুলি ট্র্যাক করে নেওয়া 0.3 সেক মূল্যবান নাও হতে পারে। SHORTINITধ্রুবক এবং ম্যানুয়ালি বিশৃঙ্খলা এড়িয়ে যান ।


+1 আপেক্ষিক হিসাবে প্রথম কলটি ব্যবহার করতে, পরম ইউআরএল থেকে ডাব্লিউপি কোরকে ndingণ দিলে জিনিসগুলি সত্যিই অগোছালো হতে পারে।
জোনাস লন্ডম্যান

2

ওয়ার্ডপ্রেস নিজেই কেবল চালু বা বন্ধ থাকে। কখনও কখনও, তবে এটি কেবল সুযোগের দ্বারা এবং নকশার দ্বারা নয়, আপনি এটি ঘিরে কাজ করতে পারেন। তবে আপনার ক্ষেত্রে, এটি সম্ভব কিনা আমি সত্যিই নিশ্চিত নই।

পরিবর্তে wp-blog-header.phpআপনি কেবল ডাব্লুপি ফাংশন লোড করার চেষ্টা করতে পারেন, wp-load.phpপরিবর্তে অন্তর্ভুক্ত করুন। সম্ভবত এটি সাহায্য করে।


wp-blog-header.phpমূলত লোড হয় wp-load.phpতাই কোনও ভিন্নতা নেই ...

2
@ ভিক্টর: একটি পার্থক্য আছে। এটি ফায়ার আপকে বাঁচায় wp();যার মধ্যে আসলে বেশ ব্যয়বহুল।
হ্যাক্রে

ঠিক আছে, এখন আমি ডাব্লুপিপি () ঠিক কী করে তা বের করার চেষ্টা করছি।

আমি এর wp-load.phpপরিবর্তে কিছু পরীক্ষা করেছি wp-blog-header.php, সবকিছু ঠিকঠাক বলে মনে হচ্ছে তবে লোডিংয়ের সময় একই the

@ ভিক্টর: আপনি F5 টিপানোর সময় আপনার ঘড়িটি ব্যবহার করছেন বা আপনি কীভাবে বাস্তবে পরিমাপ করবেন? :) যাইহোক, যদি আপনার কোনও কাঠামোর প্রয়োজন হয় তবে ওয়ার্ডপ্রেস ব্যবহার করবেন না। আপনি কেবল তার পরিবর্তে প্রয়োজনীয় ফাংশনগুলি লোড করার চেষ্টা করতে পারেন। তবে আপনাকে এগুলি একসাথে অনুসন্ধান করা দরকার। কেবলমাত্র আপনার প্রয়োজনীয় ফাইলগুলি যেমন ব্যবহারকারী ফাংশন এবং সম্ভবত ডেটাবেস অ্যাক্সেসের জন্য অন্তর্ভুক্ত করুন।
hakre

1

আপনি সরাসরি টেবিলটি অ্যাক্সেস করার চেষ্টা করতে পারেন। আপনি যদি পাসওয়ার্ড ফাইলগুলির লবণ জানেন তবে সেগুলি আপনার নিজের সিস্টেমের মাধ্যমে লগ ইন করতে পারতেন, নিজেই পাসওয়ার্ডটি লবণ করুন (ওয়ার্ডপ্রেস কীভাবে এটি দেখায়) এবং সেগুলি নিজেই ট্র্যাক করে রাখুন। আপনি যদি পুনরায় প্রমাণীকরণ ছাড়াই আপনার নিজের সিস্টেম এবং ওয়ার্ডপ্রেসের মধ্যে পার্থক্যের দক্ষতা চান, আপনি আপনার সিস্টেমে বর্তমান ব্যবহারকারীদের অধিবেশনকে ওয়ার্ডপ্রেসে একটি প্লাগইন তৈরি করতে পারেন।


0

আপনি ডাব্লুপি'র সাথে দ্রুত যা পেতে পারেন তা কাস্টম মোড়ক তৈরি করছে যা সংজ্ঞায়িত করবে SHORTINITএবং তারপরে কোর লোড করবে । এটি ডাটাবেস সংযুক্ত হওয়ার পরে এবং বেশিরভাগ এপিআই এবং এক্সটেনশানগুলির (থিম এবং প্লাগইনগুলি) প্রক্রিয়া করার আগেই মূল লোড স্টপ তৈরি করবে।

সেখান থেকে আপনি একা ডাটাবেসের মাধ্যমে চেষ্টা করতে পারেন বা আপনার প্রয়োজনের কিছু অংশ বেছে বেছে লোড করতে পারেন।

এটি বেশ অগোছালো পদ্ধতির, তবে এটি হালকা মূল লোডের কাছাকাছি যেমন জিনিসগুলি ডাব্লুপিতে আসে।


সংক্ষিপ্ত বিবরণ একটি ভাল পদ্ধতির, তবে এর অর্থ ব্যবহারকারী এবং হ্যাশগুলি পরীক্ষা করার জন্য সমস্ত ফাংশন লোড হবে না। আপনি এটি পুনরায় বাস্তবায়ন করতে পারেন, তবে অগোছালো, আপনি যেমন বলেছিলেন।
অটো

@ অট্টো সম্ভবত পুনরায় সংশোধন করবে না, বরং হাতের মূল অংশগুলি লোড করুন। এবং যদি ব্যবহারকারীদের কোনও পরিবর্তন হয় তবে প্লাগইনগুলিও তাদের হাতে লোড করে। হ্যাঁ, এটি বেশ জড়িত পদ্ধতির। তবে আরও ভাল পারফরম্যান্সের পরবর্তী বিকল্প হ'ল ডাব্লুপি পুরোপুরি খনন করা এবং সরাসরি ডাটাবেসের সাথে কাজ করা, যা আরও বেশি অগোছালো।
রাস্ট


-1

আপনি যদি কেবলমাত্র সমস্ত ওয়ার্ডপ্রেস ব্যবহারকারীদের ওয়েব অ্যাপ্লিকেশনটি ব্যবহারের অনুমতি দিতে চান তবে আপনি ওয়ার্ডপ্রেস ব্যবহারকারী পরিচালনা ব্যবস্থা ব্যবহার করতে পারেন এবং ব্যবহারকারী লগ ইন করেছেন কিনা তা পরীক্ষা করে দেখতে পারেন।

এটি যাচাই করতে আপনাকে পরীক্ষা করতে হবে নামের কুকিটি wordpress_logged_in_{some-hash}উপস্থিত আছে কি না। যদি তা না হয় তবে ব্যবহারকারীকে ওয়ার্ডপ্রেস লগইন পৃষ্ঠায় পুনর্নির্দেশ করুন। {some-hash}কুকি নামের অংশটি কেবল অক্ষর এবং অঙ্কের একটি সিরিজ।


1
আমার জানা দরকার যে কোন ব্যবহারকারী লগ ইন করেছেন এবং সুরক্ষাও গুরুত্বপূর্ণ।

এটি একটি সুরক্ষা-দুঃস্বপ্ন। যে কোনও কুকির সাথে অনুরোধ পাঠাতে পারে যা এই জাতীয় কাঠামোযুক্ত। যেহেতু আপনি হ্যাশটি পরীক্ষা করছেন না তবে কেবল লগইন ফর্মের সাথে সমান এমন কিছু আছে কিনা তা যাচাই করছেন যেখানে ক্ষেত্রগুলি খালি না হওয়া পর্যন্ত আপনি ব্যবহারকারী এবং পাসওয়ার্ডের জন্য কিছু প্রবেশ করতে পারবেন।
kraftner
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.