دسته بندی
نحوه درج علامت های خاص در HTML

شاید تا به حال پیش آمده باشد که بخواهید حرف یا کاراکتر خاصی را در صفحات وب و کدهای HTML درج کنید ولی با وجود جستجو و دقت در صفحه کلید یا آزمون و خطای ترکیب کلید های مختلف، به نتیجه مورد نظر نرسیده باشید، به طور مثال علائمی مانند ©، ®، ♥، ♦، ← و... معمولا به صورت عادی در صفحه کلید دیده نمی شوند و برای درج آنها باید از ترفندهایی که در ادامه خواهیم دید استفاده نمائیم، البته این ترفندها نیز خود متکی بر ترکیب کلیدهای مختلف یا بر اساس کدهای عددی و حروفی استاندارد هستند که در ادامه با آنها بیشتر آشنا خواهیم شد.
استاندارد مرورگرهای وب
قبل از ادامه آموزش بد نیست اشاره ای داشته باشیم به استانداردهای پشتیبانی شده توسط مرورگر های وب، توضیح اینکه مرورگرها برای نمایش حروف، اعداد و علائم به شکل درست، از استانداردهای تعریف شده ای پیروی می کنند که توسط نهادهای پژوهشی و بین المللی (کنسرسیوم استاندارد کاراکترها یا Unicode Consortium) ایجاد شده اند، به طور مثال در ابتدای پیدایش وب، مرورگر ها تنها از استاندارد ISO-8859-1 که شامل حروف و اعداد انگلیسی و برخی علائم بود، استفاده می کردند (که به آن ASCII گفته می شود، ASCII استاندارد پیش فرض وب است)، اما به تدریج به جهت فراوانی و نیاز سایر زبان ها، استانداردهای تعریف شده دیگری نیز توسط مرورگرها پشتیبانی شد، از جمله ISO-8859-6 برای زبان عربی، ISO-8859-7 برای زبان یونانی و...، اما کثرت زبان های دنیا متخصصان را به فکر ایجاد استانداردی فراگیرتر به نام UTF-8 یا (Unicode Transformation Format) انداخت تا اینکه با ایجاد آن الگویی فراگیر در حوزه وب شکل گرفت، البته نسخه های دیگری نیز از استاندارد ISO و UTF وجود دارد (به طور مثال UTF-16)، ولی پایه و اساس وب دو نسخه ISO-8859-1 یا همان ASCII و استاندارد UTF-8 هستند، اکنون در چارچوب این استانداردها است که می توانیم با ترکیب حروف، علائم و اعداد، کاراکترهای ویژه ای فراتر از تگ های معمولی HTML خلق کنیم که به طور عادی در صفحه کلید کامپیوترمان دیده نمی شوند.
جدول علامت های خاص و نحوه درج آنها
در جدول زیر علامت های خاص و نحوه درج آنها قید شده است، البته به دلیل گستردگی این کاراکترها، در اینجا تنها به مواردی که جزء استاندارد ASCII هستند، اشاره می کنیم.
کاراکتر | معادل HTML - حروفی | معادل HTML - عددی | میانبر | توضیح |
---|---|---|---|---|
‘ | ‘ | ‘ | Alt+0145 | نقل قول |
’ | ’ | ’ | Alt+0146 | - |
‚ | ‚ | ‚ | - | - |
“ | “ | “ | Alt+0147 | - |
” | ” | ” | Alt+0148 | - |
„ | „ | „ | - | - |
† | † | † | Alt+0134 | خنجر |
‡ | ‡ | ‡ | Alt+0135 | خنجر مضاعف |
… | … | - | چند نقطه | |
‰ | ‰ | ‰ | Alt+0137 | در هزار |
‹ | ‹ | ‹ | Alt+0139 | اشاره راست |
› | › | › | Alt+0155 | اشاره چپ |
♠ | ♠ | ♠ | - | بیلچه |
♣ | ♣ | ♣ | - | کلوب |
♥ | ♥ | ♥ | - | قلب |
♦ | ♦ | ♦ | - | الماس |
‾ | ‾ | ‾ | - | خط |
← | ← | ← | - | فلش چپ |
↑ | ↑ | ↑ | - | فلش بالا |
→ | → | → | - | فلش راست |
↓ | ↓ | ↓ | - | فلش پائین |
™ | ™ | ™ | Alt+0153 | نماد تجاری |
" | " | " | - | نقل قول |
& | & | & | - | امپرسند |
< | < | < | - | کوچکتر از |
> | > | > | - | بزرگتر از |
[ | [ | - | قلاب | |
] | ] | - | قلاب | |
– | – | – | Alt+0150 | خط |
— | — | — | Alt+0151 | خط مضاعف |
|   | Alt+0160 | فضای خالی | |
¡ | ¡ | ¡ | Alt+0161 | تعجب برعکس |
¢ | ¢ | ¢ | Alt+0162 | سنت |
£ | £ | £ | Alt+0163 | لیره |
¤ | ¤ | ¤ | Alt+0164 | پول رایج |
¥ | ¥ | ¥ | Alt+0165 | ین |
¦ | ¦ یا &brkbar; | ¦ | Alt+0166 | خط شکسته |
§ | § | § | Alt+0167 | علامت بخش |
¨ | ¨ یا ¨ | ¨ | Alt+0168 | ادغام |
© | © | © | Alt+0169 | کپی رایت |
ª | ª | ª | Alt+0170 | اعداد ترتیبی |
« | « | « | Alt+0171 | گیومه چپ |
¬ | ¬ | ¬ | Alt+0172 | نماد هیچ |
| ­ | ­ | Alt+0173 | فاصله |
® | ® | ® | Alt+0174 | ثبت تجاری |
¯ | ¯ یا &hibar; | ¯ | Alt+0175 | علامت صدای کشیده |
° | ° | ° | Alt+0176 | درجه |
± | ± | ± | Alt+0177 | جمع و تفریق |
² | ² | ² | Alt+0178 | بالانویس |
³ | ³ | ³ | Alt+0179 | بالانویس |
´ | ´ | ´ | Alt+0180 | صدای زیر |
µ | µ | µ | Alt+0181 | علامت میکرو |
¶ | ¶ | ¶ | Alt+0182 | پاراگراف |
· | · | · | Alt+0183 | نقطه |
¸ | ¸ | ¸ | Alt+0184 | صدای z برای حرف s |
¹ | ¹ | ¹ | Alt+0185 | بالانویس |
º | º | º | Alt+0186 | اعداد ترتیبی |
» | » | » | Alt+0187 | گیومه راست |
¼ | ¼ | ¼ | Alt+0188 | 1 بر روی 4 |
½ | ½ | ½ | Alt+0189 | 1 بر روی 2 |
¾ | ¾ | ¾ | Alt+0190 | 3 بر روی 4 |
¿ | ¿ | ¿ | Alt+0191 | علامت سوال برعکس |
À | À | À | Alt+0192 | - |
Á | Á | Á | Alt+0193 | - |
 |  |  | Alt+0194 | - |
à | à | à | Alt+0195 | - |
Ä | Ä | Ä | Alt+0196 | - |
Å | Å | Å | Alt+0197 | - |
Æ | Æ | Æ | Alt+0198 | - |
Ç | Ç | Ç | Alt+0199 | - |
È | È | È | Alt+0200 | - |
É | É | É | Alt+0201 | - |
Ê | Ê | Ê | Alt+0202 | - |
Ë | Ë | Ë | Alt+0203 | - |
Ì | Ì | Ì | Alt+0204 | - |
Í | Í | Í | Alt+0205 | - |
Î | Î | Î | Alt+0206 | - |
Ï | Ï | Ï | Alt+0207 | - |
Ð | Ð | Ð | Alt+0208 | - |
Ñ | Ñ | Ñ | Alt+0209 | - |
Ò | Ò | Ò | Alt+0210 | - |
Ó | Ó | Ó | Alt+0211 | - |
Ô | Ô | Ô | Alt+0212 | - |
Õ | Õ | Õ | Alt+0213 | - |
Ö | Ö | Ö | Alt+0214 | - |
× | × | × | Alt+0215 | علامت ضرب |
Ø | Ø | Ø | Alt+0216 | - |
Ù | Ù | Ù | Alt+0217 | - |
Ú | Ú | Ú | Alt+0218 | - |
Û | Û | Û | Alt+0219 | - |
Ü | Ü | Ü | Alt+0220 | - |
Ý | Ý | Ý | Alt+0221 | - |
Þ | Þ | Þ | Alt+0222 | - |
ß | ß | ß | Alt+0223 | - |
à | à | à | Alt+0224 | - |
á | á | á | Alt+0225 | - |
â | â | â | Alt+0226 | - |
ã | ã | ã | Alt+0227 | - |
ä | ä | ä | Alt+0228 | - |
å | å | å | Alt+0229 | - |
æ | æ | æ | Alt+0230 | - |
ç | ç | ç | Alt+0231 | - |
è | è | è | Alt+0232 | - |
é | é | é | Alt+0233 | - |
ê | ê | ê | Alt+0234 | - |
ë | ë | ë | Alt+0235 | - |
ì | ì | ì | Alt+0236 | - |
í | í | í | Alt+0237 | - |
î | î | î | Alt+0238 | - |
ï | ï | ï | Alt+0239 | - |
ð | ð | ð | Alt+0240 | - |
ñ | ñ | ñ | Alt+0241 | - |
ò | ò | ò | Alt+0242 | - |
ó | ó | ó | Alt+0243 | - |
ô | ô | ô | Alt+0244 | - |
õ | õ | õ | Alt+0245 | - |
ö | ö | ö | Alt+0246 | - |
÷ | ÷ | ÷ | Alt+0247 | علامت تقسیم |
ø | ø | ø | Alt+0248 | - |
ù | ù | ù | Alt+0249 | - |
ú | ú | ú | Alt+0250 | - |
û | û | û | Alt+0251 | - |
ü | ü | ü | Alt+0252 | - |
ý | ý | ý | Alt+0253 | - |
þ | þ | þ | Alt+0254 | - |
ÿ | ÿ | ÿ | Alt+0255 | - |
نکته 1: برخی از علائم با عبارات استاندارد متشکل از حروف و اعداد و برخی نیز به وسلیه میانبرهای صفحه کلید قابل درج هستند.
نکته 2: برای درج کاراکترها توسط میانبرهای صفحه کلید، کلید Alt را نگه داشته و سپس شماره متناظر را از قسمت شماره های سمت راست به ترتیب بزنید، دقت کنید که چراغ Num Lock روشن و فعال باشد.
نکته 3: همان طور که ملاحظه می کنید، معادل کاراکترهای خاص چه به صورت حروفی و چه به صورت عددی، با علامت & شروع شده و با علامت ; بسته می شوند.
نکته 2: برای درج کاراکترها توسط میانبرهای صفحه کلید، کلید Alt را نگه داشته و سپس شماره متناظر را از قسمت شماره های سمت راست به ترتیب بزنید، دقت کنید که چراغ Num Lock روشن و فعال باشد.
نکته 3: همان طور که ملاحظه می کنید، معادل کاراکترهای خاص چه به صورت حروفی و چه به صورت عددی، با علامت & شروع شده و با علامت ; بسته می شوند.
دسته بندی: آموزش کاربردی » HTML
برچسب ها: HTML
« بعدی

نمایش فیلد جستجوی گوگل در سایت یا وبلاگ
چرا و چگونه از DOCTYPE در HTML استفاده کنیم؟
چگونه رنگ و تصویر پس زمینه سایت یا وبلاگ را تغییر دهیم؟
نحوه متحرک ساختن متن با تگ marquee در HTML
چگونه در وبلاگ و سایت، لینک دانلود قرار دهیم؟
دیدگاه


۱۴:۰۵ ۱۴۰۳/۱۰/۰۸
سلام ممنونم از جوابتون اوکی مرسی از جواب ایمیل بله درسته جواب دادید و دیگ اینکه یه ایمیل دیگه هم تازگیا فرستادم ممنون میشم چک کنید کد مسدود کردن آی پی را براتون فرستادم در مورد ذوق هنری هم بگم من کلا ذوق هنریم خوب نیست نه که کلا ذوق نداشته باشم نه کلا طراحی گرافیکم یکم پایینه وگرنه برنامه نویسیم اون قدرا هم بد نیست من کلا در مورد چیزهای دیگه هم همین طوره زیاد خلاق نیستم مثل نقاشی...!
طبق بررسی ما ایمیلی از سمت شما دریافت نشده، در مورد طراحی قالب و ذوق هنری در این صورت بیشتر می توانید روی الگوبرداری از قالب های موجود تمرکز کنید.
۲۱:۰۵ ۱۴۰۳/۱۰/۰۴
سلام خوبید خسته نباشید ببخشید یه سوال داشتم اولا بهتون ایمیل دادم جواب ندادین دوما میگن قالب هام ساده هستند چیکار می تونم بکنم بنظرتون که قالب هام حرفه ای تر بشوند ممنون میشم بهم بگید لطفا مرسی منتظر پاسختون هستم تنها فرقشون با قالب های حرفه ای دیگر این هستش که عکس کنار عنوان پست ندارند منظورم اون عکس کوچیک کنار عنوان پست اگر هم بگید چیکار کنم که اینطوری شه ممنون میشم
آخرین ایمیل شما مربوط به حدود یک ماه پیش در خصوص کد مسدودسازی IP است که جواب داده شده، لطفا قسمت Spam را هم چک کنید، در مورد حرفه ای تر شدن قالب چند نکته است که در مجموع باید تسلط داشته باشید:
- آشنایی با نرم افزارهای طراحی اشکال دو بعدی وکتور (مثل Adobe Illustrator) و کار با فرمت هایی مانند svg.
- تسلط کامل بر CSS و امکان ایجاد بلاک های شناور و چینش بلاک ها کنار هم یا در لایه های زیر و رو.
- بررسی کامل سورس قالب هایی که از دید شما حرفه ای هستند از نظر ساختار کدنویسی HTML + CSS، وقتی قسمتی از قالبی را بررسی می کنید باید بتوانید مشابه آن قسمت را طراحی کنید.
اصولا اگر با موارد بالا آشنا باشید و به جزئیات دقت کنید با داشتن کمی ذوق هنری هیچ چیزی نیست که نتوانید آن را در قالب های خود خلق کنید.
- آشنایی با نرم افزارهای طراحی اشکال دو بعدی وکتور (مثل Adobe Illustrator) و کار با فرمت هایی مانند svg.
- تسلط کامل بر CSS و امکان ایجاد بلاک های شناور و چینش بلاک ها کنار هم یا در لایه های زیر و رو.
- بررسی کامل سورس قالب هایی که از دید شما حرفه ای هستند از نظر ساختار کدنویسی HTML + CSS، وقتی قسمتی از قالبی را بررسی می کنید باید بتوانید مشابه آن قسمت را طراحی کنید.
اصولا اگر با موارد بالا آشنا باشید و به جزئیات دقت کنید با داشتن کمی ذوق هنری هیچ چیزی نیست که نتوانید آن را در قالب های خود خلق کنید.
رضا
۱۷:۴۲ ۱۴۰۳/۰۹/۲۷
ممنونم از شما بابت وقتی که گذاشتید و پاسخ دادین.
راستی یه سوال خدمت شما داشتم. بهترین راه برای اینکه بفهمیم که کاربر از کجا وارد سایت ما شده چیه؟ فرض کنیم که در انواع شبکه های اجتماعی و وبلاگ ها و وبسایت ها تبلیغات کردیم و حالا می خوایم بفهمیم کاربر از کجا امده و به صفحه مورد نظر خودمون هدایتش کنیم
مثلا کسی که از تلگرام آمده به صفحه ۱
کسی که از واتساپ امده به صفحه ۲
کسی که از سروش آمده به صفحه ۳ ، ....
هدایت بشه. لینکی که در اختیار تبلیغات قرار گرفته یکسان هست و چطور این هدایت رو با توجه به آدرسی که ازش آمده مدیریت کنیم؟
راستی یه سوال خدمت شما داشتم. بهترین راه برای اینکه بفهمیم که کاربر از کجا وارد سایت ما شده چیه؟ فرض کنیم که در انواع شبکه های اجتماعی و وبلاگ ها و وبسایت ها تبلیغات کردیم و حالا می خوایم بفهمیم کاربر از کجا امده و به صفحه مورد نظر خودمون هدایتش کنیم
مثلا کسی که از تلگرام آمده به صفحه ۱
کسی که از واتساپ امده به صفحه ۲
کسی که از سروش آمده به صفحه ۳ ، ....
هدایت بشه. لینکی که در اختیار تبلیغات قرار گرفته یکسان هست و چطور این هدایت رو با توجه به آدرسی که ازش آمده مدیریت کنیم؟
برای بررسی اینکه کاربر از چه لینکی به سایت ارجاع داده شده ساده ترین روش اضافه کردن یک پارامتر به آدرس URL است، به فرض:
example.com/?ref=telegram
در این مثال با بررسی و دریافت پارامتر ref با متد GET در PHP می توانیم برنامه ارجاعی را پیدا کنیم:$ref = @$_GET['ref'];
در حالت های پیشرفته تر می توانیم این قسمت را با الگوریتم های Hash دو طرفه (به فرض openssl_encrypt) رمزنگاری و به حالت اجباری تبدیل کنیم یعنی اگر تنظیم نشده بود کاربر به صفحه پیام هشدار مبنی بر اشتباه بودن لینک ارجاع داده شود و اگر تنظیم شده بود با openssl_decrypt مقادیر رمزی شده را به حالت اولیه برگردانیم، با این کار هم مقادیر پارامتر تنظیم شده در URL نامشخص و ایمن از دستکاری است و هم می توانیم درخواست های بدون ارجاع معتبر را رد کنیم.example.com/?ref=RswizgMYsAePIVkNZlYhOQ==
یک نمونه روش رمزنگاری و برگردان آن با کلید خصوصی:<?php
$data = 'telegram';
$key = 'Your Private Key!';
$method = "aes-256-cbc";
$iv_length = openssl_cipher_iv_length($method);
$iv = openssl_random_pseudo_bytes($iv_length);
$encrypted = base64_encode(openssl_encrypt($data, $method, $key, OPENSSL_RAW_DATA, $iv));
echo 'example.com/?ref=' . $encrypted;
echo '<br>';
$data = base64_decode($encrypted);
$decrypted = openssl_decrypt($data, $method, $key, OPENSSL_RAW_DATA, $iv);
echo $decrypted;
?>
البته این کد صرفا جهت نمونه است و اطلاعات از متد GET دریافت نمی شود، همچنین کلید خصوصی پیش فرض تنظیم شده است، دقت کنید کلید خصوصی باید هنگام رمزنگاری و برگردان یکسان باشد.رضا
۱۷:۰۵ ۱۴۰۳/۰۹/۲۱
اصلاح می کنم دیکودر ایرانی یون ۱۲ هم گویا پیدا شده
radib.com/fa/ioncube-decode
امان از دست ...بله این سایت هم در نوع خود جالب بود و نشان از ذهن خلاق ایرانی دارد :)
رضا
۱۷:۰۲ ۱۴۰۳/۰۹/۲۱
سلام ممنون برای پاسخ خوبتون.
فرمودین <نکته 1: با مبهم سازی، سورس ها همچنان قابل کپی هستند منتها برای انسان گیج کننده، نامفهوم و تقریبا غیرقابل توسعه می شوند!، خوشبختانه راهی برای برگردان کدهای مبهم شده به حالت اصلی وجود ندارد.>
پس با Obfuscation خوانایی کدها از بین میره و نمیشه هیچ جوره به سورس اصلی برگردوند؟ درسته؟ در مورد Encoding کلی تحقیق کردم متاسفانه همگی اونها راه دور زدن و دیکد کردن دارن. مگه از نسخه پولی استفاده کنیم که خیلی گران میشه. امروز داشتم سرچ میکردم با سایت copyban آشنا شدم و مدعی هست که یون کیوب انکودر 12 فایل ها رو کد میکنه. ایا این یون ۱۲ قابل اطمینان هست؟ تا حالا کسی دیده که دیکدرش کار کنه و سورس رو بده.
یه سایت خارجی دیدم برای هر دیکد کردن یه فایل ۱۲ دلار میگرفت. نمیدونم این یون ۱۲ قابل اطمینان هست یا نه چون معمولا برای نسخه های پایین تر دیکدرش وجود داره. احتمال ساخت دیکدر در این نسخه هم هست. ولی اگه بشه با Obfuscation کدها رو کلی به هم بریزیم که طرف نتونه به نام خودش توسعه بده خیلی خوبه. بیشتر برام این مهمه که افراد به ظاهر برنامه نویس! با دستکاری کدها و توسعه شون همه چی رو به نفع خودشون تمام نکنن و ما که سال ها زحمت کشیدیم هیچ نسیبی نداشته باشیم.
فرمودین <نکته 1: با مبهم سازی، سورس ها همچنان قابل کپی هستند منتها برای انسان گیج کننده، نامفهوم و تقریبا غیرقابل توسعه می شوند!، خوشبختانه راهی برای برگردان کدهای مبهم شده به حالت اصلی وجود ندارد.>
پس با Obfuscation خوانایی کدها از بین میره و نمیشه هیچ جوره به سورس اصلی برگردوند؟ درسته؟ در مورد Encoding کلی تحقیق کردم متاسفانه همگی اونها راه دور زدن و دیکد کردن دارن. مگه از نسخه پولی استفاده کنیم که خیلی گران میشه. امروز داشتم سرچ میکردم با سایت copyban آشنا شدم و مدعی هست که یون کیوب انکودر 12 فایل ها رو کد میکنه. ایا این یون ۱۲ قابل اطمینان هست؟ تا حالا کسی دیده که دیکدرش کار کنه و سورس رو بده.
یه سایت خارجی دیدم برای هر دیکد کردن یه فایل ۱۲ دلار میگرفت. نمیدونم این یون ۱۲ قابل اطمینان هست یا نه چون معمولا برای نسخه های پایین تر دیکدرش وجود داره. احتمال ساخت دیکدر در این نسخه هم هست. ولی اگه بشه با Obfuscation کدها رو کلی به هم بریزیم که طرف نتونه به نام خودش توسعه بده خیلی خوبه. بیشتر برام این مهمه که افراد به ظاهر برنامه نویس! با دستکاری کدها و توسعه شون همه چی رو به نفع خودشون تمام نکنن و ما که سال ها زحمت کشیدیم هیچ نسیبی نداشته باشیم.
حس شما را درک می کنیم، در تکمیل نکات شما و برای علاقه مندانی که این پاسخ را می خوانند: با انجام مبهم سازی در واقع سورس های اصلی دستکاری می شوند و با حذف موارد اضافه که در توسعه های بعدی نقش کلیدی دارند مثل یادداشت ها و همچنین تغییر عبارات معنادار استفاده شده برای نامگذاری ها مثل متغیرها، توابع، کلاس ها و... نسخه تقریبا غیرقابل توسعه ای از برنامه اصلی بدست می آید، این روش حُسن بزرگش این است که نیازی به نصب هیچ افزونه اضافه ای در سرور کاربر ندارد و معمولا رایگان است، منتها عملکرد برنامه های مختلف در این مورد متفاوت است و باید ببینید کدام مورد برای هدف شما مناسب تر است، در مورد Encoding چون در نهایت کدها با مفسر PHP به حالت اجرایی تفسیر می شوند این نقص وجود دارد که می شود برگردان آنها را مرحله به مرحله تا رسیدن به سورس اصلی نوشت، منتها ترکیب روش های گمراه کننده مثل اضافه کردن قسمت های اضافه بی مورد (فیک) به الگوریتم یا استفاده از دستور goto در کتار کدگذاری می تواند این برگردان و مهندسی معکوس را برای کاربران عادی و اکثر افراد توسعه دهنده در عمل غیرممکن کند و یک لایه دفاعی از بین لایه های در دسترس باشد {می توانید به دید محکم کاری به آن نگاه کنید:)}، در مورد سایت هایی که از برنامه های معروف مثل یون کیوب استفاده می کنند متاسفانه بحث شکستن قفل و هزینه مطرح است، از طرف دیگر باید موتور این اینکودرها در سرور نصب شده باشد که خیلی راه ساده و قابل استفاده برای همه به نظر نمی رسد {ظاهرا در این مورد هر چه برنامه گمنام تر باشد بهتر است!}.
پی نوشت: به نظر از بین گزینه های در دسترس YAK Pro گزینه رایگان خوبی برای استفاده است هرچند برای مبهم سازی کامل یک پروژه متشکل از چند فایل و ساختارهای ترکیبی PHP + HTML ممکن است به زحمت بیفتید.
پی نوشت: به نظر از بین گزینه های در دسترس YAK Pro گزینه رایگان خوبی برای استفاده است هرچند برای مبهم سازی کامل یک پروژه متشکل از چند فایل و ساختارهای ترکیبی PHP + HTML ممکن است به زحمت بیفتید.
رضا
۲۱:۲۶ ۱۴۰۳/۰۹/۲۰
سلام
من چند ماهی هست که کلی روی یه پروژه سیستم مدیریت محتوا با زبان php کار کردم و پروژه کامل شده. قصد دارم اون رو بفروشم اما می ترسم که افراد سورس کدها رو کپی کنند و …. و زحمات من هدر بره. چطور میشه به روش مطمئن فایل های php رو رمز گذرای کرد یا غیر قابل خواندن و کپی کردن؟ توی اینترنت گشتم روش خوبی پیدا نکردم.
من چند ماهی هست که کلی روی یه پروژه سیستم مدیریت محتوا با زبان php کار کردم و پروژه کامل شده. قصد دارم اون رو بفروشم اما می ترسم که افراد سورس کدها رو کپی کنند و …. و زحمات من هدر بره. چطور میشه به روش مطمئن فایل های php رو رمز گذرای کرد یا غیر قابل خواندن و کپی کردن؟ توی اینترنت گشتم روش خوبی پیدا نکردم.
متاسفانه این مشکل در مورد زبان های متن باز از جمله PHP وجود دارد، روشی هم که در تمام سرورها در دسترس و کم هزینه باشد معمولا استفاده از برنامه های مبهم سازی (Obfuscation) و در کنار آن کدگذاری (Encoding) سورس کدها است که با حذف یادداشت ها و... سورس اصلی را محافظت و تقریبا ناخوانا می کنند، منتها سرویس های رایگان کمی هستند (حداقل ما از وجود آنها بی اطلاعیم) که کل فایل های پروژه را یکجا و پیوسته محافظت کنند، به فرض برنامه ای تحت عنوان YAK Pro در آدرس زیر می تواند گزینه قابل استفاده اما به صورت فایل به فایل باشد.
نکته 1: با مبهم سازی، سورس ها همچنان قابل کپی هستند منتها برای انسان گیج کننده، نامفهوم و تقریبا غیرقابل توسعه می شوند!، خوشبختانه راهی برای برگردان کدهای مبهم شده به حالت اصلی وجود ندارد.
نکته 2: در حالت کدگذاری (Encoding) بسته به قدرت و پیچیدگی الگوریتم استفاده شده شانس بازیابی و شکستن قفل و برگردان (Decoding) سورس به حالت اولیه وجود دارد!، توصیه می شود مبهم سازی و کدگذاری با هم ترکیب شوند.
php-obfuscator.com
ظاهرا امکانات بیشتری از همین سرویس به صورت پکیج از سایت GitHub قابل دریافت و بدون فرآیند درج سورس فایل قابل استفاده است.نکته 1: با مبهم سازی، سورس ها همچنان قابل کپی هستند منتها برای انسان گیج کننده، نامفهوم و تقریبا غیرقابل توسعه می شوند!، خوشبختانه راهی برای برگردان کدهای مبهم شده به حالت اصلی وجود ندارد.
نکته 2: در حالت کدگذاری (Encoding) بسته به قدرت و پیچیدگی الگوریتم استفاده شده شانس بازیابی و شکستن قفل و برگردان (Decoding) سورس به حالت اولیه وجود دارد!، توصیه می شود مبهم سازی و کدگذاری با هم ترکیب شوند.
مرتضی حسین پور
۰۶:۴۵ ۱۴۰۲/۰۳/۰۴
سلام مثلا من میخوام عبارت زندگی در کوهستان را تگ بزنم چگونه باید این کار را بکنم
ظاهرا سوالتان مرتبط با موضوع این مطلب نیست، در چه برنامه یا سرویسی قصد تگ کردن عبارت را دارید؟ با درج کاراکتر # در ابتدای عبارت معمولا امکان تگ ایجاد می شود.
پارسا
۲۱:۵۴ ۱۴۰۱/۰۹/۲۱
ببخشید چطور سایز هاشون و اندازه هاشون رو بزرگ تر کنیم ؟
در ساده ترین حالت می توانیم علامت را در تگ span یا p قرار دهیم و با اختصاص صفت style و خاصیت font-size اندازه نمایشی کاراکتر را کم و زیاد کنیم:
<span style="font-size: 56px;">›</span>
Atefeh Hazratzad
۰۷:۳۰ ۱۴۰۱/۰۲/۰۲
سلام وقتتون بخير
وقتي كد هاي اسكي رو تايپ مي كنم، به جاي اون علامت خاص، يه علامت سوال كه داخل لوزي هست، بهم نشون ميده، شما مي دونيد مشكل كجاست؟!
وقتي كد هاي اسكي رو تايپ مي كنم، به جاي اون علامت خاص، يه علامت سوال كه داخل لوزي هست، بهم نشون ميده، شما مي دونيد مشكل كجاست؟!
در کل این موارد به بحث تنظیم صحیح یونیکد مربوط می شود اما ریشه مشکل می تواند دلایل مختلف و راه حل های متفاوتی داشته باشد، لطفا کد را داخل یک صفحه وب درج کنید تا امکان بررسی و ارائه راه حل وجود داشته باشد.
ابوالفضل
۰۰:۵۰ ۱۴۰۱/۰۱/۰۷
سلام استاد
یک فایل داریم که مدام اطلاعات جدیدی درونش به صورت زیر ذخیره میشود
یک فایل داریم که مدام اطلاعات جدیدی درونش به صورت زیر ذخیره میشود
16:24:10:516;Wr_5 => @03WD3001000052*[0D]
16:24:10:562;Rd_5 <= @03WD0050*[0D]
البته 16:24:10 رو مطمئنم زمان هستش به نظرتون این اطلاعات کد شده اسکی هست؟ مثلا @03WD0050*[0D]
یعنی چی؟به نظر نمی رسد رمزنگاری خاصی صورت گرفته باشد، شبیه خروجی هیچ الگوریتم آشنایی نیست، بیشتر شبیه ذخیره سازی مقادیر عددی و تاریخ به صورت خطی و خلاصه است که برای استفاده های بعدی به پارامترهای کوچکتر تجزیه می شود، اگر رمزنگاری باشد احتمالا الگوریتم آن شخصی است و به نظر بدون داشتن رمز به راحتی قابل دیکد شدن نباشد.
مریم
۲۲:۴۱ ۱۴۰۰/۰۲/۱۲
ممنونم خیلی عالی راهنمایی کردین.
این کد خیلی خوب بود
این کد خیلی خوب بود
$convert = json_decode($str, true);
echo $convert['x'];
مریم
۱۷:۴۵ ۱۴۰۰/۰۲/۱۲
سلام.
من با php یه API رو فراخوانی می کنم. و اطلاعات فارسی هستن. اما به صورت
خیلی توی اینترنت گشتم مواردی که گفتن به کارم نیومد.
این کد کامل هست.
من با php یه API رو فراخوانی می کنم. و اطلاعات فارسی هستن. اما به صورت
\u0627\u0633\u062a\u0627\u062f\u064a
نمایش داده میشه. چیکار کنم بشه UTF8 ؟خیلی توی اینترنت گشتم مواردی که گفتن به کارم نیومد.
این کد کامل هست.
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https:/e",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
echo ($response);
این شیوه کد شدن کاراکترها معمولا در نقل و انتقال داده های JSON مشاهده می شود، برای بازگردان به حالت عادی می توانیم از تابع json_decode به شکل نمونه زیر استفاده کنیم که کلمه "استادي" را در خروجی چاپ می کند:
<?php
header('Content-Type: text/html; charset="UTF-8"');
$str = '["\u0627\u0633\u062a\u0627\u062f\u064a"]';
$convert = json_decode($str, true);
//var_dump($convert);
echo $convert[0];
?>
دقت کنیم در این نمونه کد برای اینکه رشته ما به صورت فرمت JSON باشد کاراکترهای [] را اضافه کرده ایم، خروجی API احتمالا به صورت پیش فرض JSON است و نیازی نیست فرایند بالا انجام شود.فرید
۱۲:۱۹ ۱۳۹۸/۱۱/۰۷
درود بشما، میخواستم بدونم مثل کلمه @، کلمه ایی ساین هم داریم؟ با تشکر
تا آنجا که اطلاع داریم نماد استانداردی برای E Sign وجود ندارد همچنین برای نماد @ (At Sign) در HTML می توانیم از معادل های زیر استفاده کنیم:
@
@
سعید سلیمانی
۲۳:۳۳ ۱۳۹۸/۰۷/۲۹
سلام ممنون از آموزش جالبتون ولی بنده هم یه ترفند خیلی ساده دارم که میشه بدون یاد گرفتن این علائم هر سیمبولی را که دوست داشته باشیم در Html مشاهده کنیم فقط کافیه اون سیمبول مورد نظر را در برنامه آفیس ورد با استفاده از تب insert>symbol درج کرده و سپس کپی کنیم داخل کدهای اچ تی ام ال و با استفاده از تگ <pre> اون رو ثبت و در مرورگرها استفاده کنیم مثلا <pre>®</pre> به همین سادگی برای کلیه سیمبولها قابل استفاده است تست کردم. لطفا منتشر کنید شاید دوستان بخوان استفاده کنن
سپاس فراوان از به اشتراک گذاری.
علی
۱۶:۴۶ ۱۳۹۸/۰۵/۲۷
سلام من میخوام تو صفحه html همچین طرحی رو بندازم میشه راهنماییم کنید (به صورت جداگانه یعنی هر کدوم توی یه صفحه)
***** *
**** **
*** ***
** ****
* *****
***** *
**** **
*** ***
** ****
* *****
در صورتی که فایل تصویر گرافیکی (با فرمت jpg، png و...) این اشکال را در اختیار داشته باشید می توانید با نرم افزارهای تبدیل تصویر به اشکال متنی (در وب جستجو کنید) این کار را انجام دهید در غیر اینصورت باید به صورت دستی کاراکترها را در سورس HTML مطالب یا صفحات سایت درج کنید.
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.