Android Question How to change value to a TextArea through POST or Webview

Mattiaf

Active Member
Licensed User
Hi, I'm trying to insert text into this textarea online.
I have two roads:

- POST method
- Web Browser method using Javascript

The POST vb.net code is

B4X:
 Private Function RandomCookie() As String
        Dim rnd(19) As Byte
        Dim r = New Random()
        r.NextBytes(rnd)
        Return BitConverter.ToString(rnd).Replace("-", "").ToLower()
    End Function
    Private Function SaveData(ByVal data As String, ByVal urlKey As String, ByVal padKey As String) As Boolean
        Const url As String = "https://notepad.pw/save"
        Dim postData As New Specialized.NameValueCollection()
        postData.Add("key", padKey)
        postData.Add("pad", data)
        postData.Add("url", urlKey)
        postData.Add("pw", "")
        postData.Add("monospace", "0")
        postData.Add("caret", "0")

        Try
            Dim wc As New WebClient()
            wc.Encoding = Text.Encoding.UTF8
            wc.Headers.Add(HttpRequestHeader.Cookie, "pad_cookie=" + RandomCookie())
            wc.Headers.Add("X-Requested-With", "XMLHttpRequest")
            wc.UploadValuesAsync(New Uri(url), postData)
            Return True
        Catch ex As Exception
            MsgBox("Error: " & ex.Message)
            Return False
        End Try
    End Function

    Sub Main()
        ' Esempio di uso:
        Dim testo As String = "text text text"
        Dim ok As Boolean = SaveData(testo, "011hk762", "63958th7q")
        If ok Then
            MsgBox("OK!")
        End If
    End Sub

p.s. For a weird reason, if I don't use that random cookie and that header custom it won't save anything by decision from developers.


Web browser method using Javascript
JavaScript:
var notepad = document.getElementsByTagName('textarea')[0];
// ottieni testo attuale
var text = notepad.value;
// aggiungi ciao
notepad.value = text + "ciao";

I already had a look into the forum and in particular to OkHttpUtils2 / iHttpUtils2 / HttpUtils2 but to be honest I'm quite lost and all the examples seem differents from my case.

Thanks
 

Mattiaf

Active Member
Licensed User
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
Upvote 0

drgottjr

Expert
Licensed User
Longtime User
based on your example, this is how a POST would/should work using b4a and okhttp.

i found notepad's random cookie different from a GUID, so i made up a generator that produced something similar to notepad's. but with or without the cookie and other header, i still get the same response.

code and screen cap follow:

B4X:
Sub Globals
    'These global variables will be redeclared each time the activity is created.
    Dim webview As WebView
    Dim wvx As WebViewExtras
End Sub

Sub Activity_Create(FirstTime As Boolean)
    webview.Initialize("webview")
    Activity.AddView(webview, 0%x,0%y,100%x,100%y)
'    wvx.addWebChromeClient(webview, "wvx")      ' for debugging
'    webview.LoadUrl("https://notepad.pw/011hk762")

    Dim job As HttpJob
    job.Initialize("",Me)
    
    
    Dim Map1 As Map
    Map1.Initialize
    Map1.Put("key", "63958th7q")
    Map1.Put("pad", "hello, mattiaf!")
    Map1.Put("url", "011hk762")
    Map1.Put("pw", "")
    Map1.Put("monospace", "0")
    Map1.Put("caret", "0")
    Dim JSON As JSONGenerator
    JSON.Initialize(Map1)
    Dim data As String = JSON.ToString()
    Log(data)
    Dim cookie As String = RandomCookie
    Log("random cookie: " & cookie)
    job.PostString("https://notepad.pw/save",data)
    job.GetRequest.SetHeader("Cookie", "pad_cookie=" & cookie)
    job.GetRequest.SetHeader("X-Requested-With", "XMLHttpRequest")
    
    Wait For (job) JobDone(job As HttpJob)
    
    If job.Success Then
        Log("RECEIVED: " & job.GetString)
        webview.LoadUrl("https://notepad.pw/011hk762")
    Else
        Dim response = job.Response.ErrorResponse
        Log("ERROR: " & response)
        webview.loadhtml(response)
    End If
    job.Release
End Sub

Sub RandomCookie As String
    Dim ByteArray() As Byte = Array As Byte(48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102)
    Dim sb As StringBuilder
    sb.Initialize
    Dim offset As Int
    Dim x As Int
    For x = 0 To 39
        offset = Rnd(0,16)
        sb.Append( Chr( ByteArray(offset) ) )
    Next
    Return sb.ToString
End Sub
 

Attachments

  • mattiaf.png
    mattiaf.png
    53.1 KB · Views: 98
Upvote 0

Mattiaf

Active Member
Licensed User
based on your example, this is how a POST would/should work using b4a and okhttp.

i found notepad's random cookie different from a GUID, so i made up a generator that produced something similar to notepad's. but with or without the cookie and other header, i still get the same response.

code and screen cap follow:

B4X:
Sub Globals
    'These global variables will be redeclared each time the activity is created.
    Dim webview As WebView
    Dim wvx As WebViewExtras
End Sub

Sub Activity_Create(FirstTime As Boolean)
    webview.Initialize("webview")
    Activity.AddView(webview, 0%x,0%y,100%x,100%y)
'    wvx.addWebChromeClient(webview, "wvx")      ' for debugging
'    webview.LoadUrl("https://notepad.pw/011hk762")

    Dim job As HttpJob
    job.Initialize("",Me)
  
  
    Dim Map1 As Map
    Map1.Initialize
    Map1.Put("key", "63958th7q")
    Map1.Put("pad", "hello, mattiaf!")
    Map1.Put("url", "011hk762")
    Map1.Put("pw", "")
    Map1.Put("monospace", "0")
    Map1.Put("caret", "0")
    Dim JSON As JSONGenerator
    JSON.Initialize(Map1)
    Dim data As String = JSON.ToString()
    Log(data)
    Dim cookie As String = RandomCookie
    Log("random cookie: " & cookie)
    job.PostString("https://notepad.pw/save",data)
    job.GetRequest.SetHeader("Cookie", "pad_cookie=" & cookie)
    job.GetRequest.SetHeader("X-Requested-With", "XMLHttpRequest")
  
    Wait For (job) JobDone(job As HttpJob)
  
    If job.Success Then
        Log("RECEIVED: " & job.GetString)
        webview.LoadUrl("https://notepad.pw/011hk762")
    Else
        Dim response = job.Response.ErrorResponse
        Log("ERROR: " & response)
        webview.loadhtml(response)
    End If
    job.Release
End Sub

Sub RandomCookie As String
    Dim ByteArray() As Byte = Array As Byte(48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102)
    Dim sb As StringBuilder
    sb.Initialize
    Dim offset As Int
    Dim x As Int
    For x = 0 To 39
        offset = Rnd(0,16)
        sb.Append( Chr( ByteArray(offset) ) )
    Next
    Return sb.ToString
End Sub

Hi thanks for your reply..
I'm getting the error
B4X:
ResponseError. Reason: , Response: <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>StackPath</title> <style> *{box-sizing: border-box;}*::before, *::after{box-sizing: border-box;}*:focus{outline: none;}html{-moz-osx-font-smoothing: grayscale;-ms-overflow-style: -ms-autohiding-scrollbar;-webkit-font-smoothing: antialiased;font-size: 16px;}body{background-color: #fff;color: #545963;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;font-weight: 400;line-height: 1.6;margin: 0;min-width: 20rem;}h1, p{margin: 0;padding: 0;}h1{font-size: 2rem;font-weight: 400;line-height: 1;}h1:not(:last-child){margin-bottom: 3rem;}p{font-size: 1rem;}p:not(:last-child){margin-bottom: 1.5rem;}a{color: #0934a0;text-decoration: none;}a:hover{color: #0934a0;text-decoration: underline;}table{border-collapse: collapse;margin-top: 3rem;width: 100%;}th, td{padding: 0.3125rem 0.3125rem 0 0.3125rem;vertical-align: top;}th:first-child, td:first-child{padding-left: 0;}th:last-child, td:last-child{padding-right: 0;}th{font-size: 0.75rem;font-weight: 400;text-align: left;text-transform: uppercase;}td{font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-size: 0.875rem;}td:first-child{word-break: break-all;}form{margin-top: 3rem;text-align: center;}button, input{border-radius: 0.25rem;border: 0.0625rem solid transparent;display: block;font-family: inherit;font-size: 1rem;margin: 0 auto;max-width: 100%;padding: 0.625rem;text-align: center;}input{-moz-appearance: none;-webkit-appearance: none;background: #fff;border-color: #a4a8af;color: #000;margin-top: 1.5rem;width: 12.5rem;}button{-webkit-appearance: button;background: #0934a0;color: #fff;cursor: pointer;font-weight: 700;margin-top: 1rem;width: 6.25rem;}button:hover{background: #080086;color: #fff;}.error{color: #c00;font-size: 0.8125rem;padding-top: 0.3125rem;}.layout{-webkit-box-direction: normal;-webkit-box-orient: vertical;display: -webkit-box;display: flex;flex-flow: column;margin-left: auto;margin-right: auto;max-width: 43.75rem;min-height: 100vh;padding: 4rem 1rem;}.layout__main{margin-bottom: auto;}.layout__footer{margin-top: auto;padding-top: 3rem;text-align: center;}@media(max-width: 767px){h1{font-size: 2rem;}h1:not(:last-child){margin-bottom: 1.5rem;}table, tbody, tr, td{display: block;}table{margin-top: 1.5rem;}thead{display: none;}td{padding: 1.375rem 0 0.625rem 0;position: relative;}td::before{content: attr(data-title);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;font-size: 0.75rem;left: 0;position: absolute;text-transform: uppercase;top: 0;}form{margin-top: 1.5rem;}.layout{padding: 2rem 1rem;}}</style> </head> <body> <div class="layout"> <div class="layout__main"> <h1>Access Denied</h1> <p> <strong>notepad.pw</strong> is using a security service for protection against online attacks. An action has triggered the service and blocked your request. </p> <p> Please try again in a few minutes. If the issue persist, please contact the site owner for further assistance. </p> <table> <thead> <tr> <th>Reference ID</th> <th>IP Address</th> <th>Date and Time</th> </tr> </thead> <tbody> <tr> <td data-title="Reference ID">ee3e96a52fa356b4f85cd702a39982b9</td> <td data-title="IP Address">37.161.161.182</td> <td data-title="Date and Time">10/18/2022 10:39 PM UTC</td> </tr> </tbody> </table> </div> <div class="layout__footer"> Protected by <a href="https://www.stackpath.com/" target="_blank">StackPath</a> </div> </div> </body> </html>

Might it be the missing utf8 encoding?
Hmm i don't know, but my vb.net code works as a charm.. Is your code identical to mine?
I only assuming so don't take me wrong...
this code of mine to generate the random cookie
B4X:
Dim rnd(19) As Byte

        Dim r = New Random()

        r.NextBytes(rnd)

        Return BitConverter.ToString(rnd).Replace("-", "").ToLower()

is not really the same as yours

As I said I'm only assuming since the vb.net code has not be written by me but I'm using it already couple of years..
Maybe @Erel can tell us if there is some changing we have to do .. Much thanks
 
Last edited:
Upvote 0

drgottjr

Expert
Licensed User
Longtime User
the purpose of my post was to show you how okhttp POST works, since you
said it was confusing. that it may or may not have resulted in the answer you
were looking for doesn't necessarily mean it didn't work as it (POST) was supposed to.

if you viewed the "error" in a webview - as was implemented in my code - you would
have seen that it was the same response i received (and posted an image of).
technically, it was not an error. i would leave it up to you to read what it says.
what you can do about it is another matter.

i've seen notepad's so-called "pad_cookie". it does not look anything like a GUID or
UUID. i don't know if there is some well known generator for the type of cookie
notepad uses for its "pad_cookie". as i said, i made up a generator to produce
something that looks like notepad's "pad_cookie", not something that looked like
vb.net's code. your random cookie code is, in fact, microsoft's example for filling
a buffer with random bytes. in looking at your example, i get the impression that it
may produce a GUID and then strip the "-"'s from it and convert the result to lower case.
that might well end up looking like notepad's cookie.

i don't use vb.net, so i made up a generator, and it produces something which
resembles notepad's "pad_cookie". i imagine you could take b4a's GUID generator,
strip the "-"'s and convert the result to lower case. no harm in trying. i don't think that
is the root of the problem, but you're welcome to subsitute your own "pad_cookie"
using whatever method you want.

utf8 also has nothing to do with the matter at hand. i don't how you think you'd
address that.

vb.net's Specialized.NameValueCollection() is a map. that is what i implemented.
the additional request headers were based on your example. i've been using okhttp
and its predecessor for a long time. i am confident what i implemented was correct
(based on your example).

that other request headers may be required, i can't say. i only had your example.
how it works is not clear. unfortunatelyl, i can't ask you to explain how it works.
there may be other considerations affecting a successful outcome (eg, CORS). i've
looked at how notepad.pw's "save" operation works. it is different from what is
exposed in your example.

you now know how okhttp POST works. i hope it helps you. if you follow the order in
which the full process is carried out, you can carefully substitute parameters of your liking.
i copied yours faithfully.
 
Upvote 0

Mattiaf

Active Member
Licensed User

the purpose of my post was to show you how okhttp POST works, since you
said it was confusing. that it may or may not have resulted in the answer you
were looking for doesn't necessarily mean it didn't work as it (POST) was supposed to.

if you viewed the "error" in a webview - as was implemented in my code - you would
have seen that it was the same response i received (and posted an image of).
technically, it was not an error. i would leave it up to you to read what it says.
what you can do about it is another matter.

i've seen notepad's so-called "pad_cookie". it does not look anything like a GUID or
UUID. i don't know if there is some well known generator for the type of cookie
notepad uses for its "pad_cookie". as i said, i made up a generator to produce
something that looks like notepad's "pad_cookie", not something that looked like
vb.net's code. your random cookie code is, in fact, microsoft's example for filling
a buffer with random bytes. in looking at your example, i get the impression that it
may produce a GUID and then strip the "-"'s from it and convert the result to lower case.
that might well end up looking like notepad's cookie.

i don't use vb.net, so i made up a generator, and it produces something which
resembles notepad's "pad_cookie". i imagine you could take b4a's GUID generator,
strip the "-"'s and convert the result to lower case. no harm in trying. i don't think that
is the root of the problem, but you're welcome to subsitute your own "pad_cookie"
using whatever method you want.

utf8 also has nothing to do with the matter at hand. i don't how you think you'd
address that.

vb.net's Specialized.NameValueCollection() is a map. that is what i implemented.
the additional request headers were based on your example. i've been using okhttp
and its predecessor for a long time. i am confident what i implemented was correct
(based on your example).

that other request headers may be required, i can't say. i only had your example.
how it works is not clear. unfortunatelyl, i can't ask you to explain how it works.
there may be other considerations affecting a successful outcome (eg, CORS). i've
looked at how notepad.pw's "save" operation works. it is different from what is
exposed in your example.

you now know how okhttp POST works. i hope it helps you. if you follow the order in
which the full process is carried out, you can carefully substitute parameters of your liking.
i copied yours faithfully.
Thanks a lot for giving me all these informations..
as i said, i m only assuming the things since this is something i do not know anything about.. by the way, I must say i m sorry because I didnt try my example before to post it. It worked for 2 years, but now i just tried to compile in visual studio and i have to say it doesnt change the text in the notepad..

"i've
looked at how notepad.pw's "save" operation works. it is different from what is
exposed in your example."

endeed you are correct.. might I ask you if, after you looked at it, you found a way to make it works?
thanks
 
Upvote 0

drgottjr

Expert
Licensed User
Longtime User
they don't want you to do what it is that your trying to do. the designers of web browers (chrome, firefox, edge, etc) don't want you to do what it is that you're trying to do. it is obviously a serious security risk: any idiot (like me) can modify - or erase - your text. why would you want that? i wouldn't want you to change my text.

over the past few days i've had no difficulty changing your text using a webview. thank god i am unable to save the changes! i'm close, but i seriously hope i never succeed. notepad updates ("saves") the text with every keystroke. simply changing the text with javascript injection isn't enough. you have to similate each keystroke as if you were typing on your keyboard, and that may not work in a textarea. if any other forum member is looking into this, i believe that's where the solution lay, if there
actually is one. the text has to be changed 1 character at a time with a keystroke listener and simulated keystrokes. each keystroke should automatically call the "save" url. (i mean, it should happen automatically. that's the way the webpage is designed.)
 
Upvote 0

Mattiaf

Active Member
Licensed User
they don't want you to do what it is that your trying to do. the designers of web browers (chrome, firefox, edge, etc) don't want you to do what it is that you're trying to do. it is obviously a serious security risk: any idiot (like me) can modify - or erase - your text. why would you want that? i wouldn't want you to change my text.

over the past few days i've had no difficulty changing your text using a webview. thank god i am unable to save the changes! i'm close, but i seriously hope i never succeed. notepad updates ("saves") the text with every keystroke. simply changing the text with javascript injection isn't enough. you have to similate each keystroke as if you were typing on your keyboard, and that may not work in a textarea. if any other forum member is looking into this, i believe that's where the solution lay, if there
actually is one. the text has to be changed 1 character at a time with a keystroke listener and simulated keystrokes. each keystroke should automatically call the "save" url. (i mean, it should happen automatically. that's the way the webpage is designed.)
Hey, i've been working all day trying to make it works..
Since I'm not robbing a bank nor flooding a bank server, I don't see the reason why we shouldn't try.. In the end, is just merely it training.. I will not flood the notepad, i will change probably the text 2 or 3 times x day.
I made it in vb.net! They add few cookies so instead of generating them, i'm doing a GET in order to populate the cookies and their value and then i'm sending the POST.
So, i started using a modify version of a cookie jar .
So now, the vb.net version fully working is:

B4X:
Imports System.Net
Imports System.Text
Imports System.Threading.Tasks

Public Class Form1

    Private Async Function SaveData(data As String, urlKey As String, padKey As String, isAppend As Boolean) As Task(Of Boolean)
        Const url As String = "https://notepad.pw/"
        Const url_save As String = url & "save"
        Dim url_page As String = url & urlKey
        Dim url_fetch As String = url & "fetch/" & urlKey
        Dim old_content As String
        Dim myJar = New List(Of String)
        Dim wc As New WebClient()
        Dim postData As New Specialized.NameValueCollection()
        postData.Add("key", padKey)
        postData.Add("url", urlKey)
        postData.Add("pw", "")
        postData.Add("monospace", "0")
        postData.Add("caret", "0")

        Try
            wc.Encoding = Encoding.UTF8
            wc.Headers.Add("X-Requested-With", "XMLHttpRequest")
            Await wc.DownloadStringTaskAsync(url_page)
            If isAppend Then
                old_content = Await wc.DownloadStringTaskAsync(url_fetch)
                data = old_content & vbLf & data
            End If
            postData.Add("pad", data)
            For Each header In wc.ResponseHeaders.AllKeys
                If Not header.StartsWith("set-cookie", StringComparison.InvariantCultureIgnoreCase) Then Continue For
                Dim cookieHdr = wc.ResponseHeaders.Get(header)
                Dim cookies = cookieHdr.Split(",")
                For Each cookie In cookies
                    Dim pos = cookie.IndexOf(";")
                    If pos < 0 Then pos = cookie.Length
                    Dim val = cookie.Substring(0, pos)
                    If Not val.Contains("=") Then Continue For
                    myJar.Add(val)
                Next
            Next
            wc.Headers.Add(HttpRequestHeader.Cookie, String.Join("; ", myJar))
            Dim response As Byte() = Await wc.UploadValuesTaskAsync(url_save, postData)

            Return True
        Catch ex As Exception
            MsgBox("Error: " & ex.Message)
            Return False
        End Try
    End Function

    Private Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim testo As String = "prova prova prova"
        Dim ok As Boolean = Await SaveData(testo, "011hk762", "63958th7q", True)
    End Sub
End Class

I also added an argument, if true It gonna append text, if false it gonna overwrite the textarea. Obviously I'll leave it to true.

I don't know if it's possible to make all this in b4a, but anyway, it will be funny and interesting to see your solution ahaah..
Webview scks man..
Thanks :)
 
Upvote 0

Mattiaf

Active Member
Licensed User
they don't want you to do what it is that your trying to do. the designers of web browers (chrome, firefox, edge, etc) don't want you to do what it is that you're trying to do. it is obviously a serious security risk: any idiot (like me) can modify - or erase - your text. why would you want that? i wouldn't want you to change my text.
Obviously, this is a test notepad. I'll generate my own at the right time where nobody could enter cause the urls are randomly generated
 
Upvote 0

drgottjr

Expert
Licensed User
Longtime User
this code will get the response headers. from the headers, you get the cookies (a list). you can then feed them back into the post.
B4X:
wait for (getPage("https://notepad.pw/011hk762")) complete(l As List)
    Dim cookies As List = l
    If cookies.IsInitialized Then
        Log("we got cookies")
        For Each c As String In cookies
            Log(c)
        Next
    Else
        Log("no cookies at this time")
    End If
End Sub

Sub getPage( url As String ) As ResumableSub
    Dim cookies As List
    Dim job As HttpJob
    job.Initialize("",Me)
    job.Download( url )
    Wait For (job) JobDone(job As HttpJob)
    If job.Success Then
        cookies = job.Response.GetHeaders.Get("set-cookie")
    Else
        Dim hmap As Map = job.Response.GetHeaders
        If hmap.IsInitialized Then
            Log(hmap)
            cookies = job.Response.GetHeaders.Get("set-cookie")
        End If
        Log("last exception: " & LastException)
        Log("error: " & job.Response.ErrorResponse)
    End If
    job.Release
    Return(cookies)
End Sub
 

Attachments

  • capture.png
    capture.png
    22 KB · Views: 89
Upvote 0

Mattiaf

Active Member
Licensed User
I am sorry we still couldn't get a solution for b4a, but all I can say now is that on vb.net it works perfectly. I would like to know what is wrong in b4a.... it would be really useful to get it work for mobile..
Look at the gif

I AM NOT putting in doubt your knowledge and professionality! but, there might be some b4a limitation respect to vb.net? Thanks!!!


p.s. from your log seems missing few cookies.. here s the full cookies in the website
B4X:
typography={"sp_class":"not-active"}; wpcc=dismiss; SPSI=45ce6df6fa6667bbc831abdac90a4864; SPSE=+odK8J1AJRL4PxGlYjGMdOjy6Y43rECbRDHA1GmZbWeEHIFBJqmHcfNhpSHmSuWFEm886w+OMoAYhrXgHHBSqA==; spcsrf=6c336f2ea199869d38be74823869feef; pad_cookie=407d0fe76b6616f2b0e0f917ca01983a69c86e7d; sp_lit=ylXMHyjrq0loKS2IEdbzlA==; PRLST=lD; UTGv2=h47714444d2eae4af694b6444cb9747b7543; adOtr=6T5B46cff6a


edit2: I am able to reproduce your error with the follow async simple vb.net code
B4X:
 Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim w As New WebClient
        Dim t As String
        t = w.DownloadString("https://notepad.pw/raw/63958th7q")
        Console.WriteLine(t.ToString)
    End Sub

when Im clicking it, it returns the normal html and raw text from the page.
But if I click the button like a crazy without waiting for it to download I receive :

B4X:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>StackPath</title> <style> *{box-sizing: border-box;}*::before, *::after{box-sizing: border-box;}*:focus{outline: none;}html{-moz-osx-font-smoothing: grayscale;-ms-overflow-style: -ms-autohiding-scrollbar;-webkit-font-smoothing: antialiased;font-size: 16px;}body{background-color: #fff;color: #545963;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;font-weight: 400;line-height: 1.6;margin: 0;min-width: 20rem;}h1, p{margin: 0;padding: 0;}h1{font-size: 2rem;font-weight: 400;line-height: 1;}h1:not(:last-child){margin-bottom: 3rem;}p{font-size: 1rem;}p:not(:last-child){margin-bottom: 1.5rem;}a{color: #0934a0;text-decoration: none;}a:hover{color: #0934a0;text-decoration: underline;}table{border-collaps
e: collapse;margin-top: 3rem;width: 100%;}th, td{padding: 0.3125rem 0.3125rem 0 0.3125rem;vertical-align: top;}th:first-child, td:first-child{padding-left: 0;}th:last-child, td:last-child{padding-right: 0;}th{font-size: 0.75rem;font-weight: 400;text-align: left;text-transform: uppercase;}td{font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-size: 0.875rem;}td:first-child{word-break: break-all;}form{margin-top: 3rem;text-align: center;}button, input{border-radius: 0.25rem;border: 0.0625rem solid transparent;display: block;font-family: inherit;font-size: 1rem;margin: 0 auto;max-width: 100%;padding: 0.625rem;text-align: center;}input{-moz-appearance: none;-webkit-appearance: none;background: #fff;border-color: #a4a8af;color: #000;margin-top: 1.5rem;width: 12.5rem;}button{-webkit-appearance: button;background: #0934a0;color: #fff;cursor: pointer;font-weight: 700;margin-top: 1rem;width: 6.25rem;}button:hover{background: #080086;color: #fff;}.error{color: #c00;font
-size: 0.8125rem;padding-top: 0.3125rem;}.layout{-webkit-box-direction: normal;-webkit-box-orient: vertical;display: -webkit-box;display: flex;flex-flow: column;margin-left: auto;margin-right: auto;max-width: 43.75rem;min-height: 100vh;padding: 4rem 1rem;}.layout__main{margin-bottom: auto;}.layout__footer{margin-top: auto;padding-top: 3rem;text-align: center;}@media(max-width: 767px){h1{font-size: 2rem;}h1:not(:last-child){margin-bottom: 1.5rem;}table, tbody, tr, td{display: block;}table{margin-top: 1.5rem;}thead{display: none;}td{padding: 1.375rem 0 0.625rem 0;position: relative;}td::before{content: attr(data-title);font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;font-size: 0.75rem;left: 0;position: absolute;text-transform: uppercase;top: 0;}form{margin-top: 1.5rem;}.layout{padding: 2rem 1rem;}}</style> </head> <body> <div class="layout"> <div class="layout__main"> <div id='JSCookieMSG' style="displa
y:none"><h1>Please Enable Cookies</h1> <p> <strong>notepad.pw</strong> is using a security service for protection against online attacks. The service requires full cookie support in order to view this website. </p> <p> Please enable cookies on your browser and try again. </p></div> <noscript> <div id="JSOffCover"> <div id='JSOffMSG'> <h1>Please Enable JavaScript</h1> <p> <strong>notepad.pw</strong> is using a security service for protection against online attacks. The service requires full JavaScript support in order to view this website. </p> <p> Please enable JavaScript on your browser and try again. </p> </div> </div> <style type="text/css"> #loading-content{display: none;}</style> </noscript> </div> <div class="layout__main" id="loading-content"> <p> <strong>notepad.pw</strong> is using a security service for protection against online attacks. This process is automatic. You will be redirected once the validation is complete. </p> </div> <div class="layout__main" > <table> <thead> <tr> <th>Reference ID</th>
 <th>IP Address</th> <th>Date and Time</th> </tr> </thead> <tbody> <tr> <td data-title="Reference ID">ff353fad2addaece1f92eca7e76bd39c</td> <td data-title="IP Address">5.170.249.75</td> <td data-title="Date and Time">10/20/2022 10:49 PM UTC</td> </tr> </tbody> </table> </div> <div class="layout__footer"> Protected by <a href="https://www.stackpath.com/" target="_blank">StackPath</a> </div> </div> <script type="text/javascript"> function sbbloadmid(){if(window.sbrmp){var smbMode="frmrld";if(smbMode=="frm"){var bodyObj=document.getElementsByTagName("body")[0];var submitFrm=document.createElement("form");bodyObj.appendChild(submitFrm);submitFrm.id="sbmtfrm";submitFrm.method="post";submitFrm.action="";submitFrm.sbbSbmt=submitFrm.submit;var input=document.createElement("input");input.type="hidden";input.name="hsc";input.value=1185;submitFrm.appendChild(input);submitFrm.sbbSbmt();}else window.location.reload(true);}else{setTimeout("sbbloadmid()", 50);}}var cookieenabled=false;if(navigator.cookieEnabled){if(navigator
.cookieEnabled==true){var exdate=new Date();exdate.setDate(exdate.getDate()+1);document.cookie="sbtsck=javkDm9eqA2dqgWBYErRi4o61f5iv4OZA8mPbMTmwVZjEg=;expires="+exdate.toGMTString()+";path=/; SameSite=Lax;";cookieenabled=(document.cookie.indexOf("sbtsck")!=-1)? true : false;}}if(cookieenabled){setTimeout("sbbloadmid()",50);}else{var oJSCookieMSGObj=document.getElementById('JSCookieMSG');var loadingContent=document.getElementById('loading-content');oJSCookieMSGObj.style.display='block';loadingContent.style.display='none';} </script>         <div style='display:none' id='sbbhscc'></div>
          <script type="text/javascript">
ecc, so i might think ( again, dont take me wrong, I CAN ASSUME ONLY ) that your code does something faster than it is supposed to
 
Last edited:
Upvote 0

drgottjr

Expert
Licensed User
Longtime User
Upvote 0
Top