Descripción
Developed with ❤️ in Iran. 🇮🇷
JAY Login & Register is a complete solution for WordPress sites that want to simplify and secure their user login and registration process. With this plugin, users can easily register or log in to your site using only their mobile number and a one-time password (OTP).
Key Features
- Protect Specific Content Sections (Shortcode): Use the
[jay_content_lock]shortcode to restrict access to portions of your content within posts and pages, independent of the full-page meta box settings. Choose between two modes:- Redirect Mode: Shows a blurred preview and prompts non-logged-in users to log in by redirecting them to the main login page. After successful login, they are returned to the original page, and the specific locked section can be highlighted.
- Inline Mode: Displays a compact login/registration form directly within the content area where the shortcode is placed. This allows users to authenticate seamlessly without navigating away from the current page, unlocking the content immediately upon success.
Core Login & Registration Features
-
Smart Login & Registration: Automatically detects if a user’s mobile number is new (directing to registration) or existing (directing to login).
-
Digits Plugin Compatibility: Seamlessly recognizes and logs in users previously registered with the Digits plugin.
-
Optional Identity Verification: Enable or disable the requirement for users to provide a National ID or Passport number during registration, with built-in duplicate ID prevention. The system intelligently asks for this information only once.
-
Password & Phone Management: Logged-in users can easily change their registered mobile number or update their password through a dedicated shortcode.
Advanced Security & Anti-Fraud
-
Multiple CAPTCHA Options: Choose from four levels of protection to prevent bot attacks:
-
Disabled: No CAPTCHA.
-
Simple Math CAPTCHA: A basic math question (addition, subtraction, multiplication, division).
-
Invisible Honeypot: An invisible security trap for bots that doesn’t interrupt the user experience.
-
Google reCAPTCHA v3 (Recommended): The most secure, invisible option to intelligently identify bots without user friction.
Social & Gateway Support
- Google Social Login: Enable one-click login and registration using Google accounts. This provides a fast, secure, and password-free authentication method, automatically creating an account for new users or logging in existing ones based on their email.
- Bale OTP (Safir API): A cost-effective alternative to SMS. Users who have the Bale messenger app can choose to receive their verification code directly in the app.
- Eitaa Social Login: Seamless and automatic login/registration for users coming from Eitaa Mini Apps. Provides a frictionless experience with secure authentication using the official Eitaa SDK.
- Multi-Gateway SMS Support: Natively integrates with popular Iranian SMS providers:
- iPPanel (and providers like FarazSMS, ModirPayamak, Taban SMS)
- Kavenegar
- SMS.ir
-
melipayamak
-
Voice OTP Support: In addition to SMS, deliver verification codes via automated voice calls using the Kavenegar gateway.
Advanced Email & SMTP Features
- Email OTP for Login & Registration: Allow users to register and log in securely using a one-time password sent to their email. The registration flow now requires email verification before password creation for enhanced security.
- Built-in SMTP Mailer: Configure the plugin to send emails directly via SMTP for maximum reliability and deliverability, bypassing the default WordPress mail function.
- Customizable Email Templates: Full control over the subject and body of the OTP email using a rich text editor and helpful shortcodes.
- Test Email Functionality: Easily send a test email from the settings panel to verify that your SMTP configuration is working correctly.
Advanced Brute-Force Protection:
-
Protect against OTP and CAPTCHA guessing attacks with configurable settings for:
-
Maximum failed attempts.
- Lockout duration (in minutes).
-
Blocking method (by phone number, IP address, or both).
-
Hide wp-login.php: Secure your site by completely hiding the default WordPress login page and redirecting all access to your custom login page.
- Secure by Design: Built with WordPress security standards in mind, utilizing nonces in all AJAX communications and proper data sanitization.
- Configurable OTP Settings: Customize the length of the OTP code and its validity period (in minutes), complete with a resend timer on the form.
Powerful Admin & User Management
- Admin Area Access Control: Restrict access to the WordPress dashboard (/wp-admin) based on specific user roles.
- User Switching: For administrators and support staff, easily switch to any user’s account to view the site from their perspective without needing their password.
-
Customizable User Columns: Take full control of the «Users» table in the admin area:
-
Adds sortable «Mobile Number» and «Jalali Registration Date» columns.
- Allows hiding of default WordPress columns.
- Allows creating new custom columns based on any user meta key.
Seamless User Experience (UX)
- Smart Redirects: Automatically redirects users back to the page they were trying to access before logging in, creating a seamless and uninterrupted browsing experience.
- Modern & Customizable Form: A beautifully designed, modern form with an optional logo that can be uploaded from the settings panel.
- Custom Landing Page: Set a specific default page to redirect users to after they log in or register.
- Custom Logout URL: Create a user-friendly logout link (e.g., yoursite.com/logout).
- Logged-in Welcome: Users who are already logged in see a welcoming message with a countdown and an automatic redirect to their dashboard, instead of the login form.
Powerful Content & Access Control
-
Content Protection Meta Box: A powerful meta box on the post/page editor allows you to restrict access to content based on:
-
Whether the user is logged in.
- Specific user roles.
- Whether the user has a specific meta key in their profile.
External Services
This plugin connects to third-party services to provide its full range of features. These are optional and only active when configured by the site administrator.
-
Bale (Safir OTP Service)
- Service: Bale Messenger (developers.bale.ai).
- Purpose: To send verification codes (OTP) directly to the user’s Bale app as an alternative to SMS.
- Data Sent: User’s mobile number.
- Link: Bale OTP Service Docs
-
iPPanel (and related gateways)
- Service: iPPanel (ippanel.com) and providers using its infrastructure (FarazSMS, ModirPayamak, etc.).
- Purpose: To send SMS verification codes (OTP).
- Data Sent: User’s mobile number.
- Link: iPPanel Privacy Policy
-
Kavenegar
- Service: Kavenegar (kavenegar.com).
- Purpose: To send SMS or Voice verification codes (OTP).
- Data Sent: User’s mobile number.
- Link: Kavenegar Terms of Service
-
SMS.ir
- Service: SMS.ir (sms.ir).
- Purpose: To send SMS verification codes (OTP).
- Data Sent: User’s mobile number.
- Link: SMS.ir Website
-
MeliPayamak
- Service: MeliPayamak (melipayamak.com).
- Purpose: To send SMS verification codes (OTP).
- Data Sent: User’s mobile number.
- Link: MeliPayamak Website
-
Google reCAPTCHA v3
- Service: Google reCAPTCHA (google.com).
- Purpose: To protect the login/registration form from automated bots.
- Data Sent: Hardware and software information, device data, and the user’s IP address are sent to Google for analysis.
- Links: Google Privacy Policy & Google Terms of Service
-
Service: Google Identity Services (Sign in with Google)
- Provider: Google (google.com)
- Purpose: To allow users to log in or register on your website with one click using their existing Google account.
- Data Sent/Received: When a user clicks the «Sign in with Google» button, they are redirected to Google for authentication. After a successful login, Google provides the website with an authorization code. Your server exchanges this code to securely receive the user’s basic profile information (email address, name, and profile picture) to automatically create or log into their account.
- Links: Google Privacy Policy & Google Terms of Service
-
Eitaa WebApp API
- Service: Eitaa (eitaa.com).
- Purpose: To provide social login functionality for users coming from Eitaa Mini Apps.
- Data Sent: When a user authenticates, data is securely exchanged with Eitaa’s servers for validation.
- Link: Eitaa Developer Docs
-
Service: RayganSMS
- Provider: RayganSMS (raygansms.com)
- Purpose: To send SMS verification codes (OTP).
- Data Sent: User’s mobile number.
- Link: RayganSMS Website
امکانات
افزونه JAY Login & Register یک راه حل کامل برای سایتهای وردپرسی است که میخواهند فرآیند ورود و عضویت کاربران خود را ساده و امن کنند. با استفاده از این افزونه، کاربران میتوانند تنها با شماره موبایل خود و دریافت یک کد تایید یکبار مصرف (OTP)، به راحتی در سایت شما ثبتنام کرده یا وارد شوند.
قابلیتهای کلیدی:
-
محافظت از بخشهای خاص محتوا (شورتکد): با استفاده از شورتکد
[jay_content_lock]، دسترسی به قسمتهای دلخواه از متن نوشتهها و برگهها را (مستقل از تنظیمات متاباکس کل صفحه) محدود کنید. دو حالت در دسترس است:- حالت هدایت (Redirect): پیشنمایشی محو از محتوا نمایش داده شده و کاربر غیرعضو به صفحه ورود اصلی هدایت میشود. پس از ورود موفق، کاربر به صفحه قبلی بازگشته و بخش قفل شده میتواند هایلایت شود.
- حالت درونخطی (Inline): یک فرم ورود/عضویت کوچک مستقیماً در همان قسمتی که شورتکد قرار دارد، نمایش داده میشود. این به کاربر اجازه میدهد بدون خروج از صفحه فعلی احراز هویت کرده و محتوا بلافاصله پس از موفقیت باز شود.
-
ورود و عضویت هوشمند:سیستم به صورت خودکار تشخیص میدهد که کاربر جدید است (و به فرم ثبتنام هدایت میشود) یا کاربر قدیمی است (و به فرم ورود هدایت میشود).
- محتوای محافظتشده:دارای یک متاباکس قدرتمند برای محدود کردن دسترسی به نوشتهها و برگهها بر اساس لاگین بودن کاربر، نقش کاربری یا داشتن یک کلید متای خاص.
- ورود و عضویت کامل با ایمیل: علاوه بر موبایل، کاربران میتوانند با ایمیل نیز ثبتنام و وارد شوند. فرآیند عضویت با ایمیل نیز به تایید کد یکبار مصرف (OTP) مجهز شده است تا از صحت ایمیل کاربر اطمینان حاصل شود.
- سیستم ارسال ایمیل SMTP: دارای تنظیمات داخلی برای ارسال ایمیلها از طریق SMTP جهت افزایش اطمینان در تحویل کدها و جلوگیری از اسپم شدن آنها. همراه با قابلیت ارسال ایمیل تستی برای بررسی تنظیمات.
- سیستم کپچا یا ضد ربات (reCAPTCHA/hCaptcha):در این سیستم دیگه به این نیاز نداری چون کد ملی یا گذرنامه داره همون کار را برای شما انجام میدهد احراز هویت با کدملی و بعد پیامک ارسال میشود و باید کد ملی معتبری نیز وارد شود
- 3 مد کپچا: کپچای ریاضی (ضرب / تقسیم/منها/جمع) ، کپچای داخلی نامرئی (Honeypot) ، Google reCAPTCHA v3 (بسیار امن – پیشنهادی)
- احراز هویت: قابلیت دریافت و اعتبارسنجی کد ملی یا شماره گذرنامه با جلوگیری از ثبت شناسههای تکراری. در تنظیمات میتوانید هرکدام را به دلخواه خواستید فعال یا هیچ کدام را فعال نکنید.
- توجه: اگر این گزینهها فعال باشند، کد ملی یا گذرنامه فقط در اولین ورود یا عضویت از کاربر پرسیده و ذخیره میشود. در مراجعات بعدی، سیستم کاربر را شناسایی کرده و مستقیماً به مرحله ورود با رمز عبور / کد تایید هدایت میکند.
- سازگاری با Digits: کاربران قدیمی شما که با افزونه Digits ثبتنام کردهاند، توسط سیستم ما شناسایی شده و میتوانند وارد شوند.
- اتصال به iPpanel: افزونه به صورت اختصاصی با وبسرویسهای جدید و قدیم پنل پیامکی iPpanel.com سازگار است.
- سرویسدهنده پیامک: فرازاس ام اس ، کاوه نگار ، ippanel ، مدیر پیامک، تابان اس ام اس، sms.ir ، raygansms ، ملی پیامک
- سرویسدهنده صوتی: کاوه نگار
- ورود اجتماعی با ایتا:ورود و عضویت خودکار و یکپارچه برای کاربرانی که از طریق برنامکهای ایتا وارد سایت میشوند. تجربهای روان و بدون نیاز به فرم، با احراز هویت امن از طریق SDK رسمی ایتا و اعتبارسنجی هش.
ورود با گوگل
- کنترل دسترسی با نقش کاربری: دسترسی به محتوای محافظت شده را به نقشهای کاربری خاص (مثلاً فقط مشترکین ویژه) محدود کنید.
- تنظیمات :تغییر شماره موبایل کاربر یا رمز عبور
- نکته: تعیین تعداد ارقام کد تایید
- اعتبار کد تایید (دقیقه):کاربر تا چند دقیقه برای وارد کردن کد فرصت دارد؟ (زمان تایمر ارسال مجدد)
- حداکثر تلاش برای کد تایید: کاربر چند بار میتواند کد تایید را اشتباه وارد کند قبل از اینکه موقتاً مسدود شود؟
- مدت زمان مسدودیت (دقیقه): پس از تلاشهای ناموفق، کاربر برای چند دقیقه مسدود شود؟
- روش مسدودسازی: مسدودسازی بر اساس شماره موبایل (پیشنهادی) یا مسدودسازی بر اساس آدرس IP / میتوانید یک یا هر دو روش را برای امنیت بیشتر انتخاب کنید.
- دسترسی: پنهان کردن ستون ها در قسمت کاربران که چه ستون هایی نمایش داده بشوند و چه ستون هایی پنهان شوند
- دسترسی: ساخت ستون های اضافی در قسمت کاربران با متاکی
- دسترسی:چه کاربرانی به wp-admin دسترسی داشته باشند.
- امنیت: پنهانسازی صفحه wp-login.php، استفاده از Nonce در تمام ارتباطات AJAX و پاکسازی دادههای ورودی.
- امکانات: امکان جا به جایی بین کاربران یا switch user
- لینک خروج : ایجاد لینک خروج سفارشی (مثلاً site.com/logout).
- ستون کاربران: افزودن ستون تاریخ عضویت به تاریخ شمسی و همچنین شماره موبایل به لیست کاربران و مرتبسازی پیشفرض بر اساس آن.
- ریدایرکت هوشمند: کاربران پس از ورود/ثبتنام به همان صفحهای که در آن بودهاند بازگردانده میشوند تا تجربه کاربری یکپارچهای داشته باشند.
- ورود/عضویت ووکامرس :نیاز به شورتکد خاصی نیست فقط کافیه تیک ورود را در برگه های ووکامرس اعمال کنید
- صفحه فرود سفارشی: میتوانید یک برگه خاص را به عنوان مقصد نهایی کاربر پس از ورود از صفحه لاگین اصلی، مشخص کنید.
- فرم زیبا و قابل سفارشیسازی: فرم ورود دارای ظاهر مدرن و لوگوی قابل تنظیم از طریق پنل تنظیمات است.
- سبک، امن و استاندارد: تمام کدها بر اساس آخرین استانداردهای امنیتی وردپرس نوشته شدهاند.
توسعه دهنده
جلال رضایی چاهوکی
Instalación
- پوشه
jay_login_registerرا در مسیر/wp-content/plugins/آپلود کنید. - افزونه را از طریق منوی ‘افزونهها’ در وردپرس فعال کنید.
- به منوی ‘jay_login_register’ در پیشخوان رفته و تنظیمات لازم (API Key، کد پترن و …) را وارد کنید.
- شورتکد
[jay_login_register_change_phone]را در برگهای که میخواهید فرم ورود نمایش داده شود، قرار دهید. - برای محافظت از محتوا، در صفحه ویرایش برگه یا نوشته، از «باکس تنظیمات دسترسی jay_login_register» استفاده کنید.
FAQ
-
از چه سرویسهایی برای ارسال کد تایید پشتیبانی میشود؟
-
این افزونه از روشهای زیر برای ارسال کد پشتیبانی میکند:
* پیامک: از طریق پنلهای iPPanel, فراز اس ام اس, مدیر پیامک, تابان اس ام اس, کاوه نگار, ملی پیامک, SMS.ir, RayganSMS
* پیامرسان بله: از طریق سرویس OTP سفیر بله (به عنوان یک جایگزین ارزانتر برای پیامک).
* تماس صوتی: از طریق پنل کاوه نگار.
* ایمیل: از طریق SMTP یا تابع پیشفرض وردپرس. -
آیا میتوانم طول کد تایید را تغییر دهم؟
-
بله، از طریق صفحه تنظیمات افزونه میتوانید طول کد تایید را بین ۴ تا ۸ رقم انتخاب کنید.
-
کپچای honey pot
-
این کپچا یک فیلد برای ربات ها میسازد اما کاربر از آن بی خبر است
نکته: علاوه بر فیلد زمان پر کردن فیلد ها هم بررسی میشود یعنی چنانچه ربات ها فیلد مخفی شما را پر نکنند باید سرعت خود را در پر کردن فیلد اصلی رعایت کنند مگرنه از طرف سیستم باز هم بلاک میشود
پس از فعال سازی اگر از افزونه های کش استفاده میکنید یکبار کش را پاک کنید -
How do I set up Google Login?
-
Setting up Google Login involves creating credentials in the Google Cloud Console. Follow these steps carefully:
- Go to Google Cloud Console: Log in to the Google Cloud Console Credentials page.
- Configure Consent Screen (if needed): If this is your first time, you may need to configure your «OAuth consent screen».
- Choose External as the User Type and click CREATE.
- Fill in the required fields: «App name» and «User support email».
- Click «SAVE AND CONTINUE» at the bottom. You don’t need to fill out the other steps.
- Navigate back to the Credentials tab from the left-hand menu.
- Create Credentials:
- At the top of the page, click + CREATE CREDENTIALS.
- Select OAuth client ID from the dropdown.
- Configure Client ID:
- For Application type, you must select Web application.
- For Name, enter a descriptive name for your own reference (e.g., My Website Login). This is not shown to users.
- Add Redirect URI:
- Under the Authorized redirect URIs section, click ADD URI.
- Paste the redirect URL exactly as it is shown in your plugin’s settings page (under the Google Login instructions). It will look like this:
https://yourwebsite.com/?jay-google-auth=1
- Create and Copy Keys:
- Click the blue CREATE button.
- A pop-up will appear showing your Client ID and Client Secret.
- Copy these two values and paste them into the corresponding fields in the plugin’s settings under the «Social Login» tab.
Reseñas
Colaboradores y desarrolladores
«JAY Login & Register» es un software de código abierto. Las siguientes personas han colaborado con este plugin.
ColaboradoresTraduce «JAY Login & Register» a tu idioma.
¿Interesado en el desarrollo?
Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.
Registro de cambios
2.1.16
- New Feature: Added support for Bale’s Safir OTP service, allowing users to receive verification codes directly in the Bale messenger app as a cost-effective alternative to SMS.
- Improvement: The user interface now provides a choice between SMS and Bale for receiving the code during registration if the Bale OTP feature is enabled.
- Fix: Correctly handled the JSON response from the MeliPayamak API to prevent incorrect error messages on successful sends.
2.1.13
- New Feature: Added one-click login/registration with Google (Gmail) accounts.
- Tweak: Added a detailed step-by-step guide for generating Google OAuth credentials within the plugin settings.
2.1.12
- New Feature: Added support for the SMS.ir gateway.
- Fix: Resolved a bug where Eitaa social login settings were sometimes erased when saving other settings tabs.
- Tweak: Corrected the main form shortcode in the readme file.
2.1.0
- انتشار اولیه افزونه.














