Tumgik
#postMessage
amelia84 · 1 year
Text
Architecting Scalable Micro Frontends with React and Nextjs
It would often be challenging to build complicated apps, as it also depends on the structure. Although traditional monolithic structures have been useful for many years, more flexible and scalable options are being investigated as the requirements for contemporary web applications rise. The idea of micro frontend React Nextjs  is one such option, and when coupled with the strength of React and Next.js, it opens up a world of options for the architecture of scalable applications. 
The Revolution: Micro frontend React Nextjs 
Let's first take a step back and examine conventional monolithic applications in order to better grasp micro frontends. A complete web application is created as one, strongly connected entity in a monolithic architecture. This method streamlines development, but as the program expands, it might become cumbersome. It's difficult to extend, scale, and sustain.
On the other side, micro frontends signify a paradigm shift in this regard. They segment the application into more manageable, autonomously deployable pieces. Each unit, also known as a "micro frontend," is in charge of a certain aspect of the application. Because these microfrontends may be created and deployed separately, a more modular and scalable approach is encouraged.
A Dynamic Duo: React and Next.js 
Developing the small frontend application React and Next.js are frequently used in conjunction. React, a JavaScript user interface package, offers a strong framework for creating distinct micro frontend modules. It enables the development of reusable components and a productive method for handling UI rendering.
In addition of Next.js, a framework developed on top of React, brings further advantages. It enables routing, makes server-side rendering easier, and makes the development process faster. The best thing is that Next.js enables dynamic loading and rendering of small frontend modules, which is essential for creating scalable applications.
Advantages of Scalable Micro Frontends
Independent Development and Deployment:
You and your teams can work separately on various components of the application with micro frontends, enabling quicker development and deployment cycles.
Scalability:
You may scale some components without affecting the overall as your program expands. You can allocate more resources to the associated micro frontend if a feature calls for them.
Enhanced Maintainability: 
The complexity of the software can be decreased by using smaller, more specialized teams to better maintain and update their individual micro frontends.
Flexibility:
Micro frontends facilitate rapid iteration on enhancements, A/B testing, and the testing of novel features.
How Architect Scalable Micro Frontends in an Easy Way 
Architecting scalable micro frontend React Nextjs involve a few key principles:
1. Modularization: 
Your application should be divided into logical parts or functionalities, and each should be developed as a standalone micro frontend. Make sure they are not tightly connected and have clear APIs for communication.
2. Routing and Navigation: 
Use the routing features of Next.js to move between micro frontends with ease. This guarantees a seamless user experience and gives the program the appearance of being a single unit.
3. Dynamic Loading: 
Leverage Dynamic imports in Next.js are used to dynamically load small front-end modules. By doing this, resource use is optimized and initial load times are reduced.
4. Shared State Management: 
Use Redux, React's Context API, or other state management options to manage shared state among micro frontends. This makes it possible to share data without tightly tying the components.
5. Cross-Origin Communication: 
You can use technologies like iframes, postMessage, or WebSockets to help cross-origin communication. Make sure your channels of communication are secure and well-documented.
6. Versioning and Dependency Management: 
Manage dependencies and versions carefully. Tools like Yarn workspaces or Lerna can help you maintain consistency across micro frontend modules.
Conclusion
Architecting scalable micro frontend React Nextjs represents a paradigm shift in web application development. By breaking your application into smaller, independently maintainable parts, you gain flexibility, scalability, and enhanced development velocity.
As the demands of modern web applications continue to evolve, embracing microfrontends becomes a compelling option. Moreover,  Reactjs developer guide you in developing architecting Scalable robust features and dynamic application. Built your transition smoother and more efficient apps.  
0 notes
iso91 · 1 year
Text
Голяма уязвимост в TikTok Внимавайте
Tumblr media
Голяма уязвимост в TikTok: Вашите данни не са в безопасност за момента!
Според ново появяващо се изследване на киберсигурността, TikTok има огромен пропуск в сигурността. TikTok, една от най-използваните социални медийни платформи в света, отново е на дневен ред със скандал. Скорошен доклад за киберсигурността установи, че приложението TikTok има уязвимости в сигурността, които могат да доведат до изтичане на данни. TikTok ще се бори с дезинформацията по време на изборния период Фирмата за киберсигурност не публикува резултатите, докато не изчака уязвимостта да бъде затворена, след като сподели резултата от изследването с TikTok. Със затварянето на уязвимостта наскоро беше споделен и методът, използван от хакерите. Пазете се от съобщения от TikTok! В публикувания доклад се посочва, че може да бъде създадена автоматична система за съобщения, която може да се използва за фишинг срещу потребители на TikTok. В изследването на фирмата за киберсигурност беше посочено, че злонамерени автоматични съобщения могат да бъдат изпращани до потребителите чрез API на PostMessage. Беше установено, че нападателите са успели да получат достъп до важна информация, като например кои видеоклипове са гледали потребителите, заявки за търсене и данни на акаунта, като използват уязвимостта на съобщението. Въпреки че засега уязвимостта е отстранена, TikTok се счита за несигурна социална медийна платформа от много платформи за киберсигурност и правителството. От друга страна, компанията отрича всички обвинения, заявявайки, че е максимално прозрачна за своите потребители и че не си сътрудничи с китайското правителство. Read the full article
0 notes
codehunter · 1 year
Text
Communication between tabs or windows
I was searching for a way how to communicate between multiple tabs or windows in a browser (on the same domain, not CORS) without leaving traces. There were several solutions:
using the window object
postMessage
cookies
localStorage
The first is probably the worst solution - you need to open a window from your current window and then you can communicate only as long as you keep the windows open. If you reload the page in any of the windows, you most likely lost the communication.
The second approach, using postMessage, probably enables cross-origin communication, but it suffers the same problem as the first approach. You need to maintain a window object.
The third way, using cookies, store some data in the browser, which can effectively look like sending a message to all windows on the same domain, but the problem is that you can never know if all tabs read the "message" already or not before cleaning up. You have to implement some sort of timeout to read the cookie periodically. Furthermore you are limited by maximum cookie length, which is 4 KB.
The fourth solution, using localStorage, seemed to overcome the limitations of cookies, and it can be even listen-to using events. How to use it is described in the accepted answer.
In 2018, the accepted answer still works, but there is a newer solution for modern browsers, to use BroadcastChannel. See the other answer for a simple example describing how to easily transmit message between tabs by using BroadcastChannel.
https://codehunter.cc/a/javascript/communication-between-tabs-or-windows
0 notes
transienturl · 2 years
Text
@april replied to your post “the secret third thing is "sleep deprived"”:
this is how i discover my insomnia was never cured but simply passed onto you
​the secret third thing is "witch"
something something ailments are transferable objects something something postmessage
1 note · View note
security-stream · 2 years
Text
A few things to check when looking at a web application
From: https://twitter.com/rhynorater/status/1585640808568348674
How is CSRF protection implemented? Does the application use only application/json content-type? Can you convert {"name":"Justin"} to name=Justin and change the content-type? Is CSRF token tied to account? Session? Are there any "unauthed" CSRF tokens? 
Can you switch POST -> GET? If not, what are you getting? If 405, then it is parsing the route, but GET is disallowed at this endpoint. Try other endpoints.
Is caching implemented?  If so, is it tied to certain paths such as /assets? Can you path traverse - /assets/..;/test - does that cache? Can you find a place where HTML content-type will be cached? Try to %3f.css or %23.css trick to see if you can trick the caching mechanism
Sometimes it's as simple as adding ?.png at the end of a URL. In such cases it is often very possible to get web cache deception.
How is information passed between various parts of the system (different domains, etc)? Does the system pass codes via query parameters? URL Fragments? PostMessage? Are there any pages where the X-frame-options header is mysteriously missing?
Cross-domain interactions are almost always sketchy. Look deep into how each piece of these systems is implemented and try to wiggle your way in-between the pieces.
How do all the pieces of authentication work? Is the application using cookies? Auth tokens in the headers? Both? Where do these values appear? I often use the Burp Plugin RequestMinimizer to help identify which pieces of the request are actually essential.
Are there any half-authenticated states? 2-FA not verified states? States before your email/phone is verified? Is authentication ever based solely off of text (such as an email in a JWT token vs an ID)? If so, are there Unicode normalization attacks here?
Is there any documentation for this application? I have legit never regretted reading the documentation for an application. I ALWAYS get something valuable out of it. It takes at MAX 1 hour (most of the time) and you walk away with a much better understanding of the app.
So much of web application hacking is about finding funky states you can get the application into. Reading the documentation will help you understand which parts of the application you (and thus other hackers) have not seen yet, and how to get to them. Priceless.
0 notes
lasclblast · 2 years
Text
Collabora online vmware
Tumblr media
Collabora online vmware activation key#
Collabora online vmware install#
Collabora online vmware software#
Collabora online vmware code#
Collabora online vmware activation key#
You’ll also be asked for an email address, where Univention will send the activation key for the appliance. The process will also ask you for the name of the organization, along with the password for the Administrator user. However, the default first option, which configures the appliance to manage users as well, should work well for most users. Then comes the Domain setup screen, which offers three options to integrate your appliance with an existing directory server on the network. By default, the appliance obtains IP address information automatically using DHCP, though we’d suggest you to specify one manually. One of the first important steps in the process is the network settings. ConfigurationĪs soon as you have successfully imported the image, you can start your virtual machine, which on the first boot, will take you through a straightforward setup wizard to help you customize some important aspects of your Collabora Online instance. In VirtualBox, head to File > Import Appliance… and point to the downloaded image. Once you’ve downloaded the image, simply import it in your virtualization platform. We’d suggest you select the Nextcloud integration atop VirtualBox, which is what we’ll be using in this tutorial. To get started, simply download the image for your favorite cloud platform in the virtual image format that you prefer. Each appliance is available in four formats, namely KVM, VirtualBox, VMware Workstation, and VMware ESXi.
Collabora online vmware code#
You can choose between two types of integration, CODE with Nextcloud or CODE with ownCloud.
Collabora online vmware software#
This appliance contains CODE, and all the additional software you need to get you up and running in minutes.
Collabora online vmware install#
To talk to other developers, please join the IRC Libera.The easiest way to install CODE for a quick tryout is to download it as a virtual appliance from the app center of the Univention Corporate Server (UCS).To ask questions, use the Collabora Online forum.Send patches via the GitHub pull requests.Browse the SDK documentation and find all about postmessage api, integration examples and more.After building Collabora Online just do a make run and follow the link to tweak things live.Checking out the source code to build it yourself is easy, head over to GitHub’s project page.See below for specific examples.įor more detailed and pretty instructions on integrating with various partner solutions please see (in alphabetical order): Nextcloud Setup Instructions (Apache & Nginx) Now you can give as the WOPI URL in your preferred File Sync and Share solution. If you want SSL, we recommend certificates from Let’s Encrypt. We provide sample configuration files for Apache2 and Nginx. It is easy, and this way CODE can be reached on standard HTTP or HTTPS ports. It is highly recommended to set up a reverse proxy in front of CODE, either you run CODE from Docker, or you use native packages. Each appliance is available in four formats: KVM, VirtualBox, VMware Workstation and VMware ESXi. You can choose between two types of integration, CODE + Nextcloud or CODE + ownCloud. The easiest way to install CODE for a quick tryout is to download it as a virtual appliance from the Univention App Center.This appliance contains the Collabora Online Development Edition, and the additional software you need to get you up and running in minutes. So download Collabora Online Development Edition, enjoy using it at home. We’d also love to get people involved in our efforts to make Online even better. We want as many people as possible to try it out and get back control of their own online documents. The Collabora Online Development Edition is aimed at home users and contains many of the latest and greatest developments.
Tumblr media
0 notes
kalilinux4u · 4 years
Photo
Tumblr media
Posta — A new open-source tool for researching Cross-document Messaging communication, allows you to track, explore and exploit postMessage vulnerabilities. https://t.co/iaetn5vWox via @enso_security (via Twitter http://twitter.com/TheHackersNews/status/1367662773031772160)
2 notes · View notes
z3zrrv62 · 4 years
Text
Tumblr media Tumblr media
Anime Porno
Categories
Videos being watched
More videos
0%
22 minuten Hentai Erotik das 700 abonnenten special
0%
Mika toiret
0%
Hinata wants destroy holes сut version anime butt amateur anal gape
0%
Second Maiden
0%
Fuzzy Lips – 02 UNCENSORED Hentai HD
0%
Love Machine
0%
Breeding Duty by Redvoidcgi (cat girl, tentacle, creampie)
0%
Booty in The Club JRay513
Longest videos
More videos
0%
School Days Game – BIG Film [2D Hentai, 4K A.I. Upscaled, Uncensored]
0%
Kateikyoushi no Oneesan The series
0%
TEEN HENTAI BEST COMPILATION 2020!!!
0%
Kiss x Sis fanservice compilation
0%
Harem Hotel – (PT 59) – NC
0%
Pamela Episode 1 – 7 (DobermanStudio)
0%
What a Legend – (PT 16) – getting to know the Rose
0%
English dub hentai
0%
My Wife is the Student Council President
0%
Kuro Gal Ni Natta Kara Shin Yuu To Shite Mita Season 1
0%
Sexy Trainer Shoko Sugimoto [Umemaro 3D] Vol 16 (Eng Sub)
0%
My Hero Academia: PRO HERO FUCKFEST (3D Hentai)
Latest videos
More videos
0%
Love Machine – 2
0%
После школы возбуждённый парень дрочит большой член на хентай и сладко стонет POV
0%
Dark Elf Queen Sex SFM
0%
3D naughty Mei and Dva futanari sex lesson
0%
Twitter Sana Test Animation !
0%
Hinata wants destroy holes сut version anime butt amateur anal gape
Random videos
More videos
0%
Second Maiden
0%
KUROINU 1
0%
My Hero Academia: PRO HERO FUCKFEST (3D Hentai)
0%
SDT- Nami (One Piece)
0%
Hidden delle # 2 sister chocolate H
0%
Katainaka Ni Totsui De Kita Russia Musume Episode 2
More videos
0%
Sweet girl punished friend with blowjob and anal
0%
Kiss x Sis fanservice compilation
0%
Genshin Impact: HOT SEX WITH CUTE WAIFU AMBER (3D Hentai)
0%
Kuro Gal Ni Natta Kara Shin Yuu To Shite Mita Season 1
More videos
0%
Claire Redfield And Ada Wong Gangbanged
0%
cheerleader
0%
SDT Double Gloryhole- Panty and Stocking
0%
Why the Hell are You Here, Teacher!? fanservice compilation
All rights reserved. Powered by animeporno.online
/* <![CDATA[ */ var wpcf7 = {"api":{"root":"https:\/\/animeporno.online\/wp-json\/","namespace":"contact-form-7\/v1"},"cached":"1"}; /* ]]> */ /* <![CDATA[ */ var wpst_ajax_var = {"url":"https:\/\/animeporno.online\/wp-admin\/admin-ajax.php","nonce":"83c1be9e14","ctpl_installed":"","is_mobile":""}; var objectL10nMain = {"readmore":"Read more","close":"Close"}; var options = {"thumbnails_ratio":"16\/9","enable_views_system":"off","enable_rating_system":"on"}; /* ]]> */ /* <![CDATA[ */ var coco_ajax_var = {"cookie_consent_disable_cookie_admin":"off","bar_position":"bottom","consent_text":"We use cookies to provide our services. By using this website, you agree to this.","consent_button_text":"Got it!","display_more_info":"on","more_info_text":"More information","more_info_url":"https:\/\/www.google.com\/policies\/technologies\/cookies\/","display_privacy":"off","privacy_text":"Privacy protection","privacy_popup":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."}; /* ]]> */ (function() { var request, b = document.body, c = 'className', cs = 'customize-support', rcs = new RegExp('(^|\\s+)(no-)?'+cs+'(\\s+|$)'); request = true; b[c] = b[c].replace( rcs, ' ' ); // The customizer requires postMessage and CORS (if the site is cross domain). b[c] += ( window.postMessage && request ? ' ' : ' no-' ) + cs; }());
2 notes · View notes
cyber-sec · 4 years
Text
WebKit Zero-Day Vulnerability Exploited in Malvertising Operation
Tumblr media
Source: https://www.securityweek.com/webkit-zero-day-vulnerability-exploited-malvertising-operation
More info: https://blog.confiant.com/malvertiser-scamclub-bypasses-iframe-sandboxing-with-postmessage-shenanigans-cve-2021-1801-1c998378bfba
1 note · View note
Text
as someone who spends a fair amount of time doing the website equivalent of balancing increasingly ridiculous cartoon towers on the roof of what used to be a fairly sensible single family home mostly for fun i struggle to imagine what it's like to have to keep something like that standing for a living, like, i've just added (warning: very boring ahead) some simple webassembly that'll resize a 6000x4000 17mb image into a 600x600 200kb one in about 3 seconds on desktop to prepare it to be uploaded as a doesn't-need-to-be-large profile picture
and it's cool but. there's the c code and the header libraries it uses and the handwavy inline javascript and virtual file system and weird emscripten tokens in it and the ridiculously long emscripten command that it takes to hopefully compile it
and then there's the resulting wasm file and the js file that loads it and then the other js file that loads that file which is turned into a web worker by some other code that actually detects the user's file selection and gets sent progress bar info from the web worker except postMessage is actually being executed within the c code and then it has to take the cropped and resized and, if the original had transparency, given a white bg result and display it on the page as a preview and add an event listener to the submit button that'll actually finally attach it to the form and upload it. and then the server has to check if it was actually succesfully resized bc the user's browser might have been incompatible with webassembly the whole time... in which case we need a file size limit to start with bc 17mb is simply too big to actually upload unchanged...
and with a list like this of things for every addition i have to wonder. how long until it all comes tumbling down
6 notes · View notes
the-automators · 8 years
Text
AutoHotkey Webinar- Various ways to use AHK to automate tasks in Windows
AutoHotkey Webinar- Various ways to use AHK to automate tasks in Windows
In the first hour of our March AutoHotkey webinar we covered core concepts of what to consider when writing a script.
The second hour we took a deeper dive into coding using some of the methods mentioned in hour one.
Content & Resources shared in AutoHotkey webinar
Script highlight:  Copy Explorer path to clipboard
#SingleInstance, force ;AutoHotkey Webinar #IfWinActive ahk_class CabinetWClass…
View On WordPress
0 notes
harizxillyana-blog · 5 years
Text
RSVP
var ifr = document.getElementById("JotFormIFrame-93012065680451"); if(window.location.href && window.location.href.indexOf("?") > -1) { var get = window.location.href.substr(window.location.href.indexOf("?") + 1); if(ifr && get.length > 0) { var src = ifr.src; src = src.indexOf("?") > -1 ? src + "&" + get : src + "?" + get; ifr.src = src; } } window.handleIFrameMessage = function(e) { if (typeof e.data === 'object') { return; } var args = e.data.split(":"); if (args.length > 2) { iframe = document.getElementById("JotFormIFrame-" + args[(args.length - 1)]); } else { iframe = document.getElementById("JotFormIFrame"); } if (!iframe) { return; } switch (args[0]) { case "scrollIntoView": iframe.scrollIntoView(); break; case "setHeight": iframe.style.height = args[1] + "px"; break; case "collapseErrorPage": if (iframe.clientHeight > window.innerHeight) { iframe.style.height = window.innerHeight + "px"; } break; case "reloadPage": window.location.reload(); break; case "loadScript": var src = args[1]; if (args.length > 3) { src = args[1] + ':' + args[2]; } var script = document.createElement('script'); script.src = src; script.type = 'text/javascript'; document.body.appendChild(script); break; case "exitFullscreen": if (window.document.exitFullscreen) window.document.exitFullscreen(); else if (window.document.mozCancelFullScreen) window.document.mozCancelFullScreen(); else if (window.document.mozCancelFullscreen) window.document.mozCancelFullScreen(); else if (window.document.webkitExitFullscreen) window.document.webkitExitFullscreen(); else if (window.document.msExitFullscreen) window.document.msExitFullscreen(); break; } var isJotForm = (e.origin.indexOf("jotform") > -1) ? true : false; if(isJotForm && "contentWindow" in iframe && "postMessage" in iframe.contentWindow) { var urls = {"docurl":encodeURIComponent(document.URL),"referrer":encodeURIComponent(document.referrer)}; iframe.contentWindow.postMessage(JSON.stringify({"type":"urls","value":urls}), "*"); } }; if (window.addEventListener) { window.addEventListener("message", handleIFrameMessage, false); } else if (window.attachEvent) { window.attachEvent("onmessage", handleIFrameMessage); }
1 note · View note
gumroad · 5 years
Text
Listen for Purchases Within the Gumroad Overlay
You can now listen for purchases being made within the Gumroad overlay and embed widgets.
Here is some sample JavaScript on how to do that:
var gumroadSaleListener = function(ev) { if (ev.data && JSON.parse(ev.data).post_message_name === "sale") { document.getElementById('post-message-data').innerHTML = ev.data; window.location.href = 'https://google.com'; } }; window.addEventListener('message', gumroadSaleListener, false);
That’s it! As long as the Gumroad JS is included in your webpage, you can listen for `sale` events and react accordingly. For example, you could redirect the user to a custom thank you page.
---
To recap, we have launched:
a zipper JS include (just 8 kb)
this new PostMessage hook
more API endpoints for subscriptions, refunds, and disputes
ability to subscribe without creating a Gumroad account
All to make it easier to build custom experiences with Gumroad!
Over 25% of purchases on Gumroad happen on a creator's website, with a custom integration. We hope that as creators grow and want more custom experiences, we will be able to scale with them.
Happy creating!
3 notes · View notes
transienturl · 3 years
Text
til: Only Internet Explorer was interested in making a proper setImmediate function (i.e. setTimeout(function, 0)) that doesn't add extra delays if you do lots in a row, so the correct and apparently only polyfill in any modern browser is postMessageing your own window, which will run immediately after any other events.
My first reaction to this was... really, browsers/javascript? I thought we were moving away from hacky polyfills to do obviously useful things when it comes to using Javascript for compute. Node.js even had to implement it!
I then read this post: https://groups.google.com/a/chromium.org/g/blink-dev/c/Hn3GxRLXmR0/m/XP9xcY_gBPQJ.
And yeah, I kind of get it, partially. If you're running long compute tasks on your browser main thread and trying to save 4ms/loop, you really should be running that compute task somewhere else; Node has pure compute as one of its use cases so it ought to have that function.
The big thing that's missing from that post, though: you should move your compute code to a web worker, yes, but then that web worker needs setImmediate, and it not having it makes even less sense, because running a bunch of computation is the whole point of a web worker!
So, yeah, I guess I don't get it.
1 note · View note
onclickonload · 6 years
Link
3 notes · View notes
dakhlaplus24 · 2 years
Text
أهداف مباراة المغرب وليبيريا في تصفيات كان 2023
أهداف مباراة المغرب وليبيريا في تصفيات كان 2023
https://www.dailymotion.com/embed/video/k56i5ndVNx5c5uy3NAO?api=postMessage&apimode=json&autoplay=false&disable-queue=1&embed_index=1&id=f1bd1f7fe81c34c&mute=true&origin=https%3A%2F%2Fwww.beinsports.com&pubtool=cpe&queue-autoplay-next=true&queue-enable=true&ui-highlight=false
Tumblr media
View On WordPress
0 notes