जब घरेलू सामाजिक टिप्पणी प्रणालियों की बात आती है, तो हमें कुछ प्रतिनिधि सेवाओं जैसे डुओसुओ, डेंगलू, यूयान, टिप्पणियाँ, नेटईज़ क्लाउड पोस्ट और सोहू चांगयान का उल्लेख करना होगा। कुछ साल पहले, जब सामाजिक टिप्पणियाँ लोकप्रिय हो गईं, तो वर्डप्रेस जैसे कार्यक्रमों के साथ आने वाली टिप्पणी प्रणालियों का उपयोग नहीं किया गया था, कुछ ने वेबसाइट टिप्पणियों के रूप में वेइबो को एम्बेड किया था, और कुछ ने टिप्पणियों को बदलने के लिए डुओसुओ, डेंगलू और यूयान जैसी तृतीय-पक्ष सेवाओं का उपयोग किया था। । का।
तृतीय-पक्ष सामाजिक टिप्पणी प्रणाली का उपयोग करने का एक फायदा यह है कि यह टिप्पणीकारों को लॉग इन करने की परेशानी से बचाता है। हालाँकि, मेरी राय में, एक घातक नुकसान यह है कि टिप्पणी डेटा किसी तीसरे पक्ष के हाथों में संग्रहीत होता है। दूसरे शब्दों में, एक ब्लॉगर के रूप में, मैं वेबसाइट डेटा की सुरक्षा की गारंटी नहीं दे सकता, एक बार जब तृतीय-पक्ष सेवा बंद हो जाती है, भले ही मैं टिप्पणी डेटा निर्यात कर सकूं, इसमें बहुत समय और ऊर्जा की खपत होगी।
अब आइए कुछ प्रतिनिधि सेवाओं जैसे डुओसुओ, डेंगलू, यूयान, टिप्पणियाँ, नेटईज़ क्लाउड पोस्ट और सोहू चांगयान पर नज़र डालें, जो वर्तमान में "अर्ध-मृत" हैं, अन्य को मूल रूप से "मृत" घोषित कर दिया गया है इन एक्शन" ("डेड इन एक्शन" के बारे में नेटईज़ क्लाउड की अनुवर्ती पोस्ट सहित)। कुछ लोग यह तर्क दे सकते हैं कि यूयान और सोहु चांगयान भी हैं जिनका उपयोग किया जा सकता है?
वर्तमान में, यूयान की आधिकारिक वेबसाइट मूल रूप से मेरे लिए अनुपलब्ध है। यूयान के उपयोगकर्ताओं की संख्या को देखते हुए, यह "बहुत कम" बची होनी चाहिए। आइए सोहू चांगयान को फिर से देखें। मैंने सोहू की आधिकारिक वेबसाइट पर यह लेख देखा: "पीछे छोड़े गए दोष के बारे में अधिक बोलें, चांगयान को लगातार कार्यभार संभालने दें।"
तथाकथित "पॉट" को "ठीक" करना वास्तव में इतना आसान नहीं है। यह मुझे की याद दिलाता है जब 115 नेटडिस्क बंद हो गया था, 360 नेटडिस्क ने कहा था कि वह कभी बंद नहीं होगा। बाद में, जब 360 नेटडिस्क ने अपनी सेवा बंद कर दी, तो Baidu नेटडिस्क खड़ा हो गया और कहा कि वह सामान्य रूप से सेवाएं प्रदान करेगा। फिर, वर्तमान Baidu नेटडिस्क को देखें... और जब WeChat ने कहा कि यह नकद निकासी के लिए शुल्क लेता है, तो Alipay ने खड़े होकर कहा कि यह अभी भी मुफ़्त है। बाद में, Alipay ने नकद निकासी के लिए शुल्क लेना भी शुरू कर दिया, और मैंने फिर कभी किसी को इस बारे में बोलते नहीं देखा।
मुझे वास्तव में उम्मीद है कि सोहू चांगयान और आगे बढ़ सकता है, ताकि हमारे दोस्तों के लिए पर्याप्त समय छोड़ा जा सके जो अभी भी तीसरे पक्ष की समीक्षाओं का उपयोग कर रहे हैं ताकि यह महसूस किया जा सके कि सबसे विश्वसनीय डेटा उनके अपने हाथों में है। हैशओवर, जिसे यह लेख पेश करेगा, एक स्वतंत्र और खुला स्रोत PHP टिप्पणी प्रणाली है जो हमें अपनी टिप्पणी प्रणाली बनाने में मदद कर सकती है। इसका बैकअप लेना और माइग्रेट करना आसान है, इसे दूरस्थ रूप से एम्बेड किया जा सकता है, और यह सुरक्षित और विश्वसनीय है।
अधिक वेबसाइट निर्माण कार्यक्रमों और वीपीएस होस्ट के लिए, आप यह भी देख सकते हैं:
- एक वेबमास्टर जिसने तीन वर्षों तक अलीबाबा क्लाउड वीपीएस होस्टिंग का उपयोग किया है, ने अलीबाबा क्लाउड की पांच प्रमुख विशेषताओं का सारांश दिया है
- WHMCS स्वचालित रूप से VPS होस्ट ट्यूटोरियल को सक्रिय करने के लिए VPS.net को एकीकृत करता है - WHMCS पर VPS सर्वर बेचें
- VPS.net VPS होस्ट अनुभव - खाता सत्यापन और VPS होस्ट प्रदर्शन और गति मूल्यांकन
1. हैशओवर इंस्टालेशन विधि
हैशओवर आधिकारिक वेबसाइट: http://tildehash.com/?page=hashover, प्रोजेक्ट होमपेज: https://github.com/jacobwb/hashover-next। हैशओवर को चलाने के लिए केवल PHP की आवश्यकता होती है, इसलिए कृपया एक LNMP वातावरण तैयार करें।
कृपया डाउनलोड करें: आधिकारिक वेबसाइट से हैशओवर 2.0 संस्करण, सर्वर की रूट निर्देशिका में एक नया फ़ोल्डर बनाएं: हैशओवर, और डाउनलोड की गई हैशओवर 2.0 फ़ाइल को इस फ़ोल्डर में अपलोड करें। फिर फ़ाइल अनुमतियों को निम्नानुसार संशोधित करें:
सुनिश्चित करें कि सभी फ़ाइलों में कम से कम "0644" अनुमतियाँ हों
सुनिश्चित करें कि सभी PHP फ़ाइलों में कम से कम "0755" अनुमतियाँ हों
सुनिश्चित करें कि "हैशओवर/पेज" निर्देशिका की अनुमतियाँ "0777" हैं
हैशओवर की मूल कॉन्फ़िगरेशन फ़ाइल को संशोधित करें। संपादित करें: hashover/scripts/settings.php, $notification_email पर अपना अधिसूचना ईमेल भरें, $encryption_key पर 8-32-बिट एन्क्रिप्शन प्रतीक भरें, प्रबंधन उपयोगकर्ता नाम $admin_nickname पर सेट करें, और व्यवस्थापक पासवर्ड $admin_password पर सेट करें . जैसा कि नीचे दिया गया है:
2. हैशओवर उपयोग ट्यूटोरियल
हैशओवर को किसी भी वेब पेज में एम्बेड किया जा सकता है, आप इसे दूरस्थ रूप से कॉल कर सकते हैं, या आप हैशओवर और अपनी वेबसाइट को सर्वर पर रख सकते हैं और इसे स्थानीय रूप से कॉल कर सकते हैं। कार्य इस प्रकार हैं:
1. नेस्टेड टिप्पणियाँ
2. टिप्पणियों को संपादित करने या हटाने का समर्थन करें
3. पसंद या नापसंद का समर्थन करें
4. पांच बुद्धिमान छँटाई विधियों का समर्थन करता है
5. बहुभाषी समर्थन
6. यूआरएल में स्वचालित रूप से हाइपरलिंक जोड़ें
7. अवतारों का समर्थन करें
8. बाहरी लिंक चित्रों का समर्थन करें
9. आप थीम को कस्टमाइज़ कर सकते हैं,
10. कस्टम HTML टैग का समर्थन करें
11. सीएसएस को अनुकूलित किया जा सकता है
12. HTML रेंज सेट करने में सहायता
13. स्पैम फ़िल्टरिंग का समर्थन करें
14. टिप्पणियों में RSS है
15. अनुकूलन योग्य टिप्पणी निश्चित लिंक
16. IP एड्रेस को ब्लॉक किया जा सकता है
17. यूआरएल पूरा करने में सहायता करें
18. AJax एसिंक्रोनस लोडिंग का समर्थन करें
जेएस विधि:
<script type="text/javascript" src="/hashover/hashover.js"></script>
<noscript>你的浏览器需要支持JS才能加载此评论.</noscript>
पीएचपी विधि:
<?php $mode = 'php'; include('hashover.js'); ?>
अतुल्यकालिक लोडिंग विधि:
<div id="hashover"></div>
<script type="text/javascript">(function() { var s = document.createElement('script'), t = document.getElementsByTagName('script')[0]; s.type = 'text/javascript'; s.async = true; s.src = "/hashover.php"; t.parentNode.insertBefore(s, t); })();</script>
जेएस सेटिंग विकल्प। जेएस लोड करते समय आप संबंधित विकल्प सेट कर सकते हैं, जैसे कि उपयोगकर्ता नाम बॉक्स, ईमेल बॉक्स आदि को बंद करना है या नहीं।
<script type="text/javascript">
var rows="4"; // Sets "Comments" field 调试
var name_on="no"; // 禁用 "Name" field
var passwd_on="no"; // 禁用 "Password" field
var email_on="no"; // 禁用 "E-mail" field
var sites_on="no"; // 禁用 "Website" field
</script>
यह हैशओवर की टिप्पणी प्रणाली का प्रभाव है।
3. हैशओवर सिस्टम सेटिंग्स
HashOver की सेटिंग फ़ाइल: hashover/scripts/settings.php बहुत सारे सेटिंग विकल्प भी प्रदान करती है। यहां स्पष्टीकरण के लिए कुछ सेटिंग कोड का चयन दिया गया है:
// 必填设置
public $notificationEmail = 'example@example.com'; // 新评论邮件提醒
protected $encryptionKey = '8CharKey'; // 加密key
protected $adminName = 'admin'; // 管理员登录用户名
protected $adminPassword = 'passwd'; // 管理员登录密码
// 基础设置
public $language = 'auto'; // 语言, for example 'en', 'de', etc. 'auto' to use system locale
public $theme = 'default'; // 主题模板
public $usesModeration = false; // 评论显示前是否需要审核
public $dataFormat = 'xml'; // 存储方式; 可选: xml, json, sql
public $defaultName = 'Anonymous'; // Default name to use when one isn't given
public $allowsImages = true; // 是否允许外链图片
public $allowsLogin = true; // 是否允许登录
public $allowsLikes = true; // 是否允许顶
public $allowsDislikes = false; // 是否允许踩
public $usesAJAX = true; // 是否开启 AJAX
public $collapsesUI = false; // 是否隐藏评论系统
public $collapsesComments = true; // Whether to hide comments and display a link to show them
public $collapseLimit = 3; // Number of comments that aren't hidden
public $replyMode = 'thread'; // 回复模式,可选 a 'thread' or as a 'stream'
public $streamDepth = 3; // In stream mode, the number of reply indentions to allow before the thread flattens
public $popularityThreshold = 5; // Minimum likes a comment needs to be popular
public $popularityLimit = 2; // Number of comments allowed to become popular
// 时间设置
public $serverTimezone = 'America/Los_Angeles'; // 时区
public $usesUserTimezone = true; // Whether comment dates should use the user's timezone (JavaScript-mode)
public $usesShortDates = true; // Whether comment dates are shortened, for example "X days ago"
public $timeFormat = 'g:ia'; // Time format, use 'H:i' for 24-hour format (see: http://php.net/manual/en/function.date.php)
public $dateFormat = 'm/d/Y'; // Date format (see: http://php.net/manual/en/function.date.php)
// 评论框设置, use true/false to enable/disable a field,
// use 'required' to require a field be properly filled
public $fieldOptions = array (
'name' => true,
'password' => true,
'email' => true,
'website' => true
);
// 操作设置
public $displaysTitle = true; // Whether page title is shown or not
public $formPosition = 'top'; // Position for primary form; options: 'top' or 'bottom'
public $usesAutoLogin = true; // Whether a user's first comment automatically logs them in
public $showsReplyCount = true; // Whether to show reply count separately from total
public $countIncludesDeleted = true; // Whether comment counts should include deleted comments
public $iconMode = 'image'; // 如何显示 avatar icons (可选 'image', 'count' or 'none')
public $iconSize = '45'; // 头像大小
public $imageFormat = 'png'; // Format for icons and other images (use 'svg' for HDPI)
public $usesLabels = false; // Whether to display labels above inputs
public $usesCancelButtons = true; // Whether forms have "Cancel" buttons
public $appendsCSS = true; // Whether to automatically add a CSS element to the page
public $displaysRSSLink = true; // 是否显示 RSS feed
// 技术设置
public $loginMethod = 'defaultLogin'; // Login method class for handling user login information
public $setsCookies = true; // Whether cookies are enabled
public $secureCookies = false; // Whether cookies set over secure HTTPS will only be transmitted over HTTPS
public $storesIPAddress = false; // 是否存储用户IP地址
public $allowsUserReplies = false; // 是否给评论者一个邮件提醒
public $noreplyEmail = 'noreply@example.com'; // 发送邮件提醒的邮箱
public $spamDatabase = 'remote'; // Whether to use a remote or local spam database
public $spamCheckModes = 'php'; // Perform IP spam check in 'javascript' or 'php' mode, or 'both'
public $gravatarDefault = 'custom'; // Gravatar theme to use ('custom', 'identicon', 'monsterid', 'wavatar', or 'retro')
public $gravatarForce = false; // Whether to force the themed Gravatar images instead of an avatar image
public $minifiesJavaScript = false; // Whether JavaScript output should be minified
public $minifyLevel = 4; // How much to minify JavaScript code, options: 1, 2, 3, 4
public $enablesAPI = true; // API: true = fully-enabled, false = fully disabled, or array of modes
public $latestMax = 10; // Maximum number of comments to save as latest comments
public $latestTrimWidth = 100; // Number of characters to trim latest comments to, 0 for no trim
public $userDeletionsUnlink = false; // Whether user deleted files are actually unlinked from the filesystem
// 图片设置,Types of images allowed to be embedded in comments
public $imageTypes = array (
'jpeg',
'jpg',
'png',
'gif'
);
// 远程域名加载设置,External domains allowed to remotely load HashOver scripts
public $allowedDomains = array (
// '*.example.com',
// '*.example.org',
// '*.example.net'
);
// 数据库选项,General database options
public $databaseType = 'sqlite'; // Type of database, sqlite or mysql
public $databaseName = 'hashover-pages'; // Database name
// SQL database options
public $databaseHost = 'localhost'; // Database host name
public $databaseUser = 'root'; // Database login user
public $databasePassword = 'password'; // Database login password
public $databaseCharset = 'utf8'; // Database character set
// Automated settings
public $isMobile = false;
// Technical settings placeholders
public $rootDirectory;
public $httpRoot;
public $httpScripts;
public $httpImages;
public $cookieExpiration;
public $domain;
सेटिंग्स की विस्तृत व्याख्या के लिए कृपया उपरोक्त स्पष्टीकरण देखें, दो प्रमुख सेटिंग्स: भाषा और समय। यदि भाषा सेट कर रहे हैं, तो कृपया "भाषा" को "zh-cn" पर सेट करें, और समय क्षेत्र को शंघाई समय क्षेत्र में बदलना याद रखें।
4. हैशओवर संबंधित मुद्दे
हैशओवर थीम टेम्पलेट। आप सेटिंग्स में थीम टेम्पलेट निर्दिष्ट कर सकते हैं: सार्वजनिक $ थीम = 'डिफ़ॉल्ट';, और आप अपनी आवश्यकताओं के अनुसार सीएसएस शैली को संशोधित कर सकते हैं।
हैशओवर ईमेल अधिसूचना। हैशओवर एसएमटीपी सेटिंग्स प्रदान नहीं करता है और सीधे मेल() फ़ंक्शन के माध्यम से ईमेल अधिसूचना प्रदान करता है, इसलिए आपको होस्ट पर पोस्टफ़िक्स या सेंडमेल जैसे मेल सर्वर स्थापित करने और php.ini में मेल() सक्षम करने की आवश्यकता है।
हैशओवर Mysql स्टोरेज मोड को कैसे सक्षम करता है? डिफ़ॉल्ट सेटिंग है: सार्वजनिक $dataFormat = 'xml'; यानी, xml संग्रहण विधि का उपयोग किया जाता है: पहली टिप्पणी का नाम "1.xml" है और दूसरी टिप्पणी का नाम "2.xml" है " ,आगे और आगे की ओर। जब कोई उपयोगकर्ता किसी टिप्पणी का उत्तर देता है, तो दूसरी फ़ाइल बनाएं। जब कोई टिप्पणी हटा दी जाती है, तो विज़िटर बस संबंधित फ़ाइल को हटा देगा।
एक्सएमएल भंडारण विधि का उपयोग करने का लाभ यह है कि इसे स्थानांतरित करना आसान है और प्रतिक्रिया की गति तेज है। यदि आप डेटाबेस स्टोरेज पर स्विच करना चाहते हैं, तो पहले public $dataFormat = 'xml' को sql में बदलें, और फिर अपने डेटाबेस को सामान्य डेटाबेस विकल्पों में भरें। यदि आपके पास रिमोट डेटाबेस है, तो कृपया रिमोट डेटाबेस की जानकारी भरें।
डिस्कस टिप्पणियाँ हैशओवर में आयात की जाती हैं। जावा प्रोग्राम: https://github.com/ianrenton/diskus-to-hashover, ऑपरेशन विधि इस प्रकार है:
1. सबसे पहले JAVA स्रोत कोड डाउनलोड करें और इसे NetBeans या Eclipse में संकलित करें (JAXB प्लग-इन का चयन करना याद रखें)
2. डिस्कस पृष्ठभूमि में डेटा को
comments.xml
के रूप में निर्यात करें और इसे संकलित प्रोग्राम निर्देशिका में डालें।3. संकलित जावा प्रोग्राम चलाएँ, और
hashoverpage
निर्देशिका और प्रत्येक XML फ़ाइल उत्पन्न होगी।4. जेनरेट की गई
page
डायरेक्टरी को उस डायरेक्टरी में अपलोड करें जहां सर्वर पर HashOver स्थित है।
इसके अलावा, हैशओवर वर्तमान में 2.0 परीक्षण संस्करण में है, इसलिए अभी भी कई समस्याओं का समाधान किया जाना बाकी है। यदि आपको समान समस्याएं आती हैं, तो आप उनका उल्लेख कर सकते हैं।
पीडीओ त्रुटि। mysql का चयन करने और डेटाबेस जानकारी भरने के बाद, निम्न त्रुटि संदेश दिखाई दिया: हैशओवर: PDO.php फ़ाइल शामिल नहीं की जा सकी! इसका कारण यह है कि PDO क्लास कहीं न कहीं रूट नेमस्पेस जोड़ना भूल गया। वर्तमान में, किसी ने इस मुद्दे के लिए एक पीआर प्रस्तुत किया है हम आधिकारिक विलय से पहले स्वयं कुछ बदलाव कर सकते हैं।
#打开:hashover/scripts/parsesql.php
Line 76 在PDO前面加上“”
$fetchAll = $results->fetchAll (PDO::FETCH_NUM);
Line 111 同理
return (array) $result->fetch (PDO::FETCH_ASSOC);
AJAX क्रॉस-डोमेन समस्या। कॉन्फ़िगरेशन फ़ाइल में AJAX मोड सक्षम करते समय, आप पाएंगे कि सभी अनुरोध विफल हो गए हैं। क्योंकि हैशओवर क्रॉस-डोमेन एक्सेस (सीओआरएस हेडर जोड़कर) को संभाल नहीं पाता है, अनुरोध ब्राउज़र द्वारा इंटरसेप्ट किया जाता है। आप hashover/scripts/settings.php के शीर्ष पर कोड जोड़ सकते हैं या इसे Nginx/apache से कॉन्फ़िगर कर सकते हैं।
header("Access-Control-Allow-Origin:".(isset($_SERVER['HTTP_ORIGIN'])?$_SERVER['HTTP_ORIGIN']:"*"));
header("Access-Control-Allow-Credentials:true");
उपयोगकर्ता की जानकारी सेव न होने की समस्या। हैशओवर क्रॉस-डोमेन एक्सेस को संभाल नहीं पाता है, इसलिए केवल कॉर्स हेडर जोड़ने से कुकीज़ को बचाया नहीं जा सकता है। समाधान यह है कि hashover/scripts/javascript-mode.php में XMLHttpRequest ढूंढें और सभी XHR ऑब्जेक्ट में withCredentials=true जोड़ें।
हैशओवर पत्र भेजने के लिए एसएमटीपी का उपयोग करता है। यह भाग वेंग के वेइयू से पुन: प्रस्तुत किया गया है, विशिष्ट संशोधन प्रक्रिया के लिए, आप ब्लॉगर के लेख को ध्यान से पढ़ सकते हैं हैशओवर श्रृंखला में दूसरा लेख: SMTP ईमेल । यहां आप वेंग की संशोधित smtp.php और writecomments.php
फ़ाइलें डाउनलोड कर सकते हैं: hashover-smtp.zip। बैकअप: https://www.ucblog.net/wzfou/hashover-smtp-pack.zip
डाउनलोड किए गए smtp.php
को अनज़िप करें और इसे हैशओवर की स्क्रिप्ट निर्देशिका में रखें। सुनिश्चित करें कि संपादक खोलें और SMTP को अपनी जानकारी से बदलें, और फिर मूल फ़ाइल को writecomments.php से अधिलेखित करें।
। अंत में, आप टिप्पणी उत्तर ईमेल अधिसूचना अनुस्मारक लागू किया जा सकता है।
5. सारांश
हैशओवर स्थापित करने और उपयोग करने के लिए काफी सुविधाजनक है। टिप्पणी डेटा भंडारण डिफ़ॉल्ट रूप से एक्सएमएल का उपयोग करता है। यदि आप डेटाबेस फॉर्म पर स्विच करना चाहते हैं, तो टिप्पणी डेटा भंडारण और अन्य वेब पेजों में दूरस्थ रूप से टिप्पणियों को संदर्भित करने के लिए एक समर्पित सर्वर का उपयोग करने की अनुशंसा की जाती है अब आपको डेटा हानि के बारे में चिंता करने की ज़रूरत नहीं है।
इस लेख के परिचय से, आप यह भी देख सकते हैं कि हैशओवर में कई समस्याएं हैं। यह काफी हद तक इस तथ्य के कारण हो सकता है कि हैशओवर विदेशी डेवलपर्स द्वारा संचालित एक व्यक्तिगत कार्यक्रम है, यह सभी को अनुकूलित करने के लिए कई सेटिंग विकल्प प्रदान करता है। इच्छुक मित्र विकास दस्तावेज पढ़ने के लिए हैशओवर की आधिकारिक वेबसाइट पर जा सकते हैं।
PS:आर्टिकल अपडेट रिकॉर्ड:
19 अगस्त, 2017 को, हैशओवर को पत्र भेजने के लिए एसएमटीपी का उपयोग करने के लिए अद्यतन किया गया था।