احراز هویت در وبسرور esp8266
دسته بندی : دستهبندی نشده
امنیت در صفحه های وبسرور esp8266 و ورود کاربر و احراز هویت کاربر در وبسرور nodemcu به همراه کتابخانه و توضیحات کامل امنیت در esp8266
مطالبی که قرار است بیاموزید
گاهی وقت ها نیازه که برای امنیت پروژه و یا دستگاهی که میسازیم بیایم و دسترسی به صفحه های وبسرورمون رو محدود کنیم و احراز هویت در وبسرور esp8266 رو اضافه کنیم که امروز این مورد رو میخوایم با هم بررسی کنیم
شما با انجام این کار از کاربر میخواید که قبل از ورود به وبسرور یه یوزرنیم و پسورد رو وارد کنه و بعد از اون به صفحه ی وبسرور دسترسی پیدا کنه
مطالبی که قرار است بیاموزید
شروع برنامه نویسی احراز هویت در وبسرور esp8266
توضیحات برنامه نویسی
کل کاری که ما قرار است انجام بدهیم این است که با استفاده از این کتابخانه بیاییم و چک کنیم اگر کاربر اطلاعات خود را وارد نکرده بود صفحه برای آن بارگذاری نشود تا اطلاعات را صحیح وارد کند
شرط بررسی عدم صحت اطلاعات کاربر
if (!server.authenticate(www_username, www_password))
وقتی که آدرس مورد نظر باز شد ما در کد بالا بررسی میکنیم که آیا اطلاعات کاربر با متغییر های www_username و www_password برابر است یا نه.
اگر شرط بالا درست بود یعنی کاربر وارد نشده ، پس باید جلوی بارگذاری صفحه را بگیریم
return server.requestAuthentication()
وقتی که از return استفاده میکنیم دیگه بقیه کد های اون تابع اجرا نمی شوند و عملا صفحه بارگذاری نمیشود و ما به هدف خود رسیده ایم
کد نهایی
#include <ESP8266WiFi.h> #include <ESP8266WebServer.h> #ifndef STASSID #define STASSID "hamyarelectronic_" #define STAPSK "Memartime" #endif const char* ssid = STASSID; const char* password = STAPSK; ESP8266WebServer server(80); const char* www_username = "hamyarelectronic"; const char* www_password = "12345678"; void setup() { Serial.begin(115200); WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); if (WiFi.waitForConnectResult() != WL_CONNECTED) { Serial.println("WiFi Connect Failed! Rebooting..."); delay(1000); ESP.restart(); } server.on("/", []() { if (!server.authenticate(www_username, www_password)) { return server.requestAuthentication(); } server.send(200, "text/plain", "تبریک ! شما هم اکنون وارد شده اید"); }); server.begin(); Serial.print("Open http://"); Serial.print(WiFi.localIP()); Serial.println("/ in your browser to see it working"); } void loop() { server.handleClient(); }