ویرایش اطلاعات دیتابیس
سلام شما ویدئو آموزشی داشتید تحت هنوان ویرایش اطلاعات دیتا بیس توی لاراول که کد های اماده اونم ضمیمه فایل کرده بودید ولی من هر کاری میکنم این کد درست کار نمیکنه !
فرم و اطلاعات درون اون که از دیتا بیس خونده میشه رو به نمایش میده ولی وقتی روی دکمه ویرایش میزنم عمل انجام میشه و ریدایرکت هم انجام میشه ولی اطلاعات آپدیت نمیشه و اطلاعت قبلی رو نمایش میده! هیچ خطایی هم نمیده ...
میخواستم بپرسم مشکل از ک...
شما تویی ولدیت کردن این دوتا مقدار رو از کجا بدست میاری که میخوای چکش کنی؟!
 'vlue' =&gt; 'required|min:10|max:50',
 'activation' =&gt; 'required'
شما فقط title , body رو تویی فرم ویرایش داری!!!
سلام وقت بخیر.

این موارد رو اگر توی لسنینگ هم چک کردین و مطمئن شدین که اشتباهی وجود داره خودتون هم میتونین ادیت بزنین و بعد از تایید توسط کارشناسان ادیت شما اعمال میشه.

اگر توی اپ هستین این ویدیو توضیح میده چطور، اگر هم با سایت باشین که پایین صفحه لینک وجود داره سلام


قبل از پوشه یک نقطه بزارید که اطلاعات پوشه رمز نگاری بشه، همچین چیزی داریم مگه؟!


برای امنیت اطلاعات سمت سرور راهکارهای زیادی هست، که من به چندتاش اشاره میکنم:


 محافظت از پوشه ها در هاست


برای محافظت از پوشه ها در هاست، سه کار میتونیم انجام بدیم:


1. داخل هر پوشه، یک فایل index.html یا index.php بسازید(این کار باعث میشه تا وقتی کاربری ادرس پوشه رو در مرورگر مستقیم وارد کنه، محتویات پوشه رو نبینه).
2. روی پوشه ها رمز بزارید؛ توسط کنترل پنل هاست که حالا دایرکت ادمین یا سی پنل هست، میتونید روی پوشه های رمز بزارید(با این کار وقتی کاربر آدرس پوشه رو در هاست به صورت مستقیم وارد میکنه،پنجره ای باز میشه که باید نام کاربری و رمز عبوری که شما تعیین کردید رو کاربر وارد کنه تا بتونه به پوشه دسترسی داشته باشه)، البته نه هر پوشه ای، پوشه های حساس.
3. و کار سومی که میتونید به جای کار اول انجام بدید، گذاشتن کد زیر در فایل httaccess. هست:







Options -Indexes



| 1 | Options -Indexes |





با این کار پوشه هایی که حاوی فایل index.html یا index.php نیستند، محتویاتش نمایش داده نمیشه.


 امن کردن پایگاه داده


پایگاه داده(دیتابیس) برنامه یکی از مهم ترین بخش ها هست، در واقع هسته یک برنامه/سایت/… به حساب میاد، برای امنیت پایگاه داده ها، راهکارهای متفاوتی هست، که به چند نمونه اشاره میکنم:


1. هش کردن رمز کابران(باید موقع درج اطلاعات در دیتابیس اطلاعات کاربران رو به صورت هش شده ذخیره کنید تا اگر کسی به پایگاه داده تونست دسترسی پیدا کنه، رمز های کاربران در امان باشه، متدهای مختلفی برای هش داریم، از جمله : sha,sha1,md5 و …)
2. موقع درج، ویرایش و به روزسانی دیتابیس، باید اطلاعات رد و بدل شده را از فیلتر رد کنید، که جلوی کاراکترهای غیر مجاز نظیر ‘,”” و … را ببندید.



> که همه ی این مسائل رو تو این جواب نمیتونم بهتون بگم؛ انشاءالله در بخش [آموزش های PHP](https://beporsam.ir/category/blog/web-designe/php/) به تک تک این موارد اشاره میکنم و توضیح میدم.
> 
> 


موفق باشید.


 


سیس سلام به شما… این دوره چون توسط کاربران تایپ شده ممکنه در قسمتهایی نیاز به ویرایش باشه که به مرور همه اصلاح میشه.

درسی که شما گفتین ویرایش و تکمیل شد. :tulip: سلام وقت بخیر. این غلط تایپی هست مرسی که گفتین براش اصلاحیه میزنم. اما همیشه به صوت درس با دقت گوش بدین. اینجا کاملا مشخصه که میگه man و نمیگه mail. وقتی اینجوریه مطمئن میشیم که اشتباهه و حتی خودتونم میتونین براش ویرایش بزنین و بعد از تایید کارشناسان اعمال میشه ویرایشتون بله این افزونه دیگه خیلی وقته که آپدیت نشده و جایگزین خوبی هم براش معرفی نشده


دیگه راه حلی که میمونه کدنویسی هست، که یا افزونه ی اختصاصی براتون نوشته بشه، یا هم اینکه با کدهای html و به صورت ایستا همچین بخشی رو ایجاد کنید  که به صورت دستی لینک ها رو تغییر بدید … دقیقا نمیدونم کدام دوستان را بیان می کنید  اما اگر از وی بی تبدیل میکنید باید یک فیلد را latin1 وارد کنید روی  عبارت click view بزنید تا باز شود سپس فیلد اول را latin 1 قرار دهید <p style=\"text-align: justify;\">با سلام خدمت شما دوست عزیز</p>
<p style=\"text-align: justify;\">اول باید مطمئن بشیم که policy مربوط به port forwardingتون رو درست نوشتید. در قدم بعدی policyهاي فایروالي لينوکستون رو چک بفرماييد.</p>
<p style=\"text-align: justify;\">از محيط بیرون هم به پورت publish شدتون تلنت بزنید و خروجي ها و logهارو بررسی بفرماييد.</p> سلام . در صورتی که شناسنامه دارای سابقه باشد هیچگونه تغییری امکان پذیر نمی باشد و تمام مشخصات در دفتر کل ثبت است خب! در ابتدا باید بگم که این چیزی که میگی:



> 
> نحوه گرفتن اطلاعات یک سایت در سایت خودمان
> 
> 
> 


رو بهش میگن **«کراول» (واکشی) کردن**. اینکه این چیه، اینکه چطوری میشه پیاده سازیش کرد، اینکه چه محدودیت هایی داره و .. رو در ادامه توضیح میدم.







کراول یا واکشی کردن چیست؟



در دنیای برنامه نویسی *(بخصوص وب)* ، وقتی یک صفحه وب رو توسط یک بات (که توسط یک زبان برنامه نویسی نوشته شده) باز میکنی و دیتاش رو کپی و میریزی تو دیتابیس خودت (یا دیتا رو میگیری میفرستی واسه یه وب سرویس دیگه) رو بهش میگن کراول کردن.


برای این کار بیشمار کتابخونه و پلاگین وجود داره. اگه بخوام متناسب با سوال خودت بگم، پلاگین [rexcrawler](https://wordpress.org/plugins/rexcrawler/) یکی از پلاگین های محبوب وردپرسی هست دقیقا برای همین کار:




rexCrawler uses regular expressions to crawl specified websites.

Websites are saved in user-defined groups, which can then be showed on wordpress pages/posts using shortcodes.

The data crawled by rexCrawler is saved in the WP database in custom tables. Once data has been crawled, it can be inserted

into a page using the shortcode [rexCrawler]


همانطور که از توضیحات پلاگین مشخص هست، کاربرد این پلاگین واکشی صفحات وب هست و ذخیره اونا در دیتابیس که نهایتان توی `pages/posts` توسط شرت‌کاتش نمایش داده میشن. تمام این فرایند *(همانطور که از اسم این پلاگین مشخصه)* مبتنی بر ریجگس regex هست. *(ریجکس رو توی لام تا کام با برچسب `عبارات باقاعده` میشناسیم)*.



> 
> **نکته:** به عنوان یک نکته تکمیلی هم باید بگم که کتابخونه های دیگه ای هم برای زبان های دیگه وجود داره که به صورت خیلی دقیق تر و حرفه ای تر همین کار رو با عملکرد خیلی بهتری انجام میدن. مثلا کتابخونه `PHP Simple HTML DOM Parser` یکی از کتابخونه های زبان PHP است که این امکان رو به ما میده که صفحات وب رو واکشی و تجزیه کنیم.
> 
> 
> 


پروسه کرال کردن رو میشه به چند دسته تقسیم کرد:


1. **باز کردن یک صفحه وب:** که عموما در زبان برنامه نویسی PHP توسط تابع [`file_get_contents`](http://php.net/manual/en/function.file-get-contents.php) انجام میشه. یعنی تمام محتوای یک صفحه انگلیسی رو باز می کنه *([تمام دام رو]؛ دام به معنی یک صفحه وب به همراه تمام تگ های HTMLش)*.
2. **تجزیه کردن محتوای صفحه وب:** همانطور که گفته شد، تمام دام الان باز شده و ما لازم داریم که اونو تجزیه کنیم؛ این کار رو به منظور جدا کردن دیتایی که لازم داریم از توی صفحه انجام میدیم. خیلی جاها از ریجکس [regex](http://php.net/manual/en/reference.pcre.pattern.syntax.php) برای این کار استفاده می کنن. اگه هم خیلی حرفه ای بخوایم جلو بریم، از کتابخونه های DOM Parser باید استفاده کرد. مثل همون `PHP Simple HTML DOM Parser` که بالاتر گفتم.
3. **نرمال سازی اطلاعات انتخاب شده:** وقتی یک بخشی از دام رو انتخاب میکنیم، شاید یک سری دیتای اضافی هم این وسط انتخاب بشه، یا شایدم ما لازم داریم دیتای چندین بخش مختلف از صفحه رو بهم بچسبونیم تا معنی مد نظرمون ساخته بشه و خلاصه الان توی این مرحله وقتشه که تگ های اضافی رو حذف کنیم و نهایتا دیتامون رو تر و تمیز کنیم. یعنی دیتامون رو آماده کنیم برای ذخیره شدن در بانک اطلاعاتی *(دیتابیس)*.
4. **ذخیره اطلاعات:** خب تا به اینجای کار دیتای مورد نظر رو انتخاب کردیم، ترو تمیزش کردیم و الان وقت این رسیده که اونو توی دیتابیس ذخیره کنیم *(یا هرجای دیگه، مثلا توی یه فایل؛ یا حتی میتونیم همونجا بفرستیمش واسه یه API)*. برای انجام این کار هم خب توضیحات زیادی لازم نیست و یک کوئری `INSERT` هست توی دیتابیس.


پس از طی کردن 4 مرحله مذکور، دیتای مورد نظر توی دیتابیس ما وجود داره و عملا میتونیم یک ویو view بسازیم و دیتا رو نمایش بدیم و این پروسه رو به عرصه عمل برسونیم. امیدوارم که توضیحاتم یک شفافیت نسبی از قضیه رو برات ایجاد کرده باشه. 


این رو هم بگم که توی این مسیر موانع زیادی وجود داره معمولا، از جمله پروتکل های http و https برای باز کردن صفحه ای که قصد داریم کراول کنیم، یا گاها پیش میاد که اول باید (همون از طریق کد و توسط باتی که داری میسازی) توی یک صفحه ای لاگین کنی که تازه این اجازه رو داشته باشی صفحه مورد نظرت رو ببینی و که بخوای واکشیش کنی و ..! خلاصه فرایند ثابتی نیست، در وب سایت های مختلف و صفحات مختلف، تا حدی متفاوت باید عمل کرد. موفق باشی.


 کلید واژگان:


* واکشی کردن
* کراول کردن / Crawling
* تجزیه صفحات-وب / محتوا
* پارس کردن / Parsing
* ریجکس / RegEx / عبارات منظم (با قاعده)
* دام / DOM پس از کوشش های بسیار راه حل عملی برای فیکس کردن این مشکل رو پیدا کردم که با شما به اشتراک میزارم.

وقتی فلش شما همچین مشکلی پیدا میکنه شما باید قید محتویات فلش رو بزنید چون به هیچ وجه امکان ریکاوری وجود نداره. چون اصلا فلش شناسایی نمیشه تا بخواد اطلاعاتش ریکاور بشه. بنابراین این آموزش فقط برای نجات خود فلش هست.ما نیاز داریم که فریمور فلش رو آپدیت یا فرمت کنیم. در این حالت نیاز به یک برنامه داریم که کنترلر فلش رو شناسایی کنه و از این طریق برنامه مناسب برای فرمت رو دانلود کنیم. چون تک تک فلش ها برنامه مخصوص به آپدیت یا فرمت کنترلر خودشونو دارن. و طاقت فرسایی کار هم به همین دلیل هست که باید برنامه مخصوص به فلش خودمون رو پیدا کنیم.
این آموزش رو می تونید از [اینجا](https://www.tarfandcity.com/2018-2-repair-your-usb-flash-drive/) دنبال کنید.


-اگه فلش تون مشکل عدم فرمت داشت هم میتونید از این روش استفاده کنید.
-اگه ظرفیت فلش تون هم کمتر از میزان واقعی شناسایی بشه هم این راه جواب میده
-فلش های قدیمی ساپورت نمیشن