Jump to content
php.lv forumi

Kā var nosimulēt linka uzspiešanu un lapas atvēršanu?


zirgs22

Recommended Posts

Ne php uz tava servera, ne JS nav un nebūs pieeja lietotāja datora cietajam diskam. Tas būtu pamatīgs drošības caurums, ja būtu tāda iespēja.

Ja to tik vien tev vajag, kā tikt klāt JS ģenerētajam contentam (tekstam, hipersaitēm), tad to visai viegli ir izdarīt par pašu JS. Lieto DOM funkcijas, atrodi lapā vajadzīgo html elementu (saiti) un izdabū no tā visu informāciju ārā.

Vai arī otrs variants - atver to adsense javaskriptu, lasi kodu un saproti ko un kā šie tur ģenerē. Un pēc tam identisku darbību veic ar savu php/js kodu.

 

zirgs22: referreri "viltus" pieprasījumā vilto ar parastu HTTP Referrer headeri. Ar curl'u tas darās šādi:

curl_setopt($ch, CURLOPT_REFERER, "http://xxx.yy/referrera/urlis");

Link to comment
Share on other sites

Es atļaušos izlikt skriptu, kurš varētu noderēt 'zirgs22' kungam!

Skripta fiška ir sekojoša: tiek norādīts kurā saitā atrodas referer links, tas tiek atrasts un atvērts! Skripts ir nodrošināts pret tādu apstākli, ja referer links ir mainīgs! Respektīvi skriptā jānorāda tikai linka sākums, jo precīzāk, jo labāk!

 

manuprāt visu izklāstīju, ja ko palaidu garām, palabojiet :)

 

Te būs skripts: Click Here

 

 

 

Neskaties sourcē, bet gan firebugā, piemēram. Jo sourcē neparādās izpildītie js, atšķirībā no firebug.

 

Es zinu daudz, bet kas tas taads "firebugs' es nezinu :D Kads varbut atlausies paskaidrot? :)

Edited by Morphius
Link to comment
Share on other sites

 

Tā kā eng valoda man,kā padomju bērnam, sveša, izmanotju ru aprakstus, bet nu fišku ir par to firebug...

 

Nāksies oponēt 'xPtv45z' kungam...firebug, manuprāt to linku izvelk no tā temp kataloga, bet vai to php kods var izdarīt? Izmantojot funkciju file_get_contents() un izvadot to, es redzu to pašu elementāro source kodu... Neiet runa par softiem, kuri spej parādīt tādu vai citādu linku, iet runa par to, vai to linku var izvilkt no cita lietotāja kompja! Un būs vien jāpiekrīt 'bubu'!

Link to comment
Share on other sites

Tu vispār saproti ko tu gribi izdarīt? Firebug neko nevelk no nekādiem temp katalogiem. Firebug parāda html kodu (un ne tikai), kāds tas ir pēc JS izpildes- t.i. tādu, kādu to redz browseris. Ja tu to linku esi atradis "temp katalogā", tad visticamāk, tas links tiek glabāts iekš cookies.

Pie cepumiem, kas ir uzstādīti no cita domēna, no savas lapas tu nevari tikt klāt.

Nodefinē precīzāk ko tu gribi panākt, vēlams ar piemēriem, lai kāds tev varētu palīdzēt.

Link to comment
Share on other sites

  • 1 month later...
Firebug neko nevelk no nekādiem temp katalogiem.

 

Lai nu tā būtu, es šo tekstu izšpļāvu uz ātro nedomādams par to, kas no kurienes ko velk, man tas nav būtiski, tāpēc lai nu tā paliek kā Tu saki, esmu sasprindzis uz citas problēmas risinājuma :)

 

Bet ja nopietni, tad mēģinu atgriezties pie arbitrāžas... Šoreiz man iteresē adbrite kantoris! Sāku savu darbību ar mazu eksperimentu...noskaidroju ko mēģina ģenerēt JavaScript kods kuru iegūstam savā personīgajā kontā iekš šā kantora.

Kā par piemēru paņemsim kodu apskatei! Es izmantoshu testēšanai kodu no saita http://www.romnation.net/ un tas būtu:

<script type="text/javascript"> 
var AdBrite_Title_Color = '0000FF';
var AdBrite_Text_Color = '000000';
var AdBrite_Background_Color = 'FFFFFF';
var AdBrite_Border_Color = 'FFFFFF';
var AdBrite_URL_Color = '';
try{var AdBrite_Iframe=window.top!=window.self?2:1;var AdBrite_Referrer=document.referrer==''?document.location:document.referrer;AdBrite_Referrer=encodeURIComponent(AdBrite_Referrer);}catch(e){var AdBrite_Iframe='';var AdBrite_Referrer='';}
</script> 
<span style="white-space:nowrap;"><script type="text/javascript">document.write(String.fromCharCode(60,83,67,82,73,80,84));document.write(' src="http://ads.adbrite.com/mb/text_group.php?sid=200026&zs=3732385f3930&ifr='+AdBrite_Iframe+'&ref='+AdBrite_Referrer+'" type="text/javascript">');document.write(String.fromCharCode(60,47,83,67,82,73,80,84,62));</script> 
<a target="_top" href="http://www.adbrite.com/mb/commerce/purchase_form.php?opid=200026&afsid=1"><img src="http://files.adbrite.com/mb/images/adbrite-your-ad-here-leaderboard.gif" style="background-color:#FFFFFF;border:none;padding:0;margin:0;" alt="Your Ad Here" width="14" height="90" border="0" /></a></span>

 

 

Tur ir divi JS paramatri kuri tiek ģenerēti uz apmeklētāja skaitļojamās mašīnas. Un tie būtu:

 

  • AdBrite_Iframe=window.top!=window.self?2:1
  • AdBrite_Referrer=document.referrer==''?document.location:document.referrer
  • AdBrite_Referrer=encodeURIComponent(AdBrite_Referrer)

 

Jautājumi:

Kam domāts "AdBrite_Iframe"(mani brauzeri kaut kādu iemeslu dēļ ģenerēja gan skaitli "1" gan skaitli "2")? Kāda jēga no šiem abiem cipariem?

Cik noprotu ka "AdBrite_Referrer" atgriež esošās lapas URL. Bet ar k nodarbojas funkcija "encodeURIComponent()"?

 

Tālāk iekš JS ir atrodams URL kuram tiek piekabinātas augstāk minētās vērtības un AdBrite apstrādājot šho linku parāda reklāmas linku(s)!

 

Vajadzētu tā kā šos linkus atvērt...kāds būtu mans risinājums!

 

Izvadam ģenerēto kodu (http://ads.adbrite.com/mb/text_group.php?sid=200026&zs=3732385f3930&ifr='+AdBrite_Iframe+'&ref='+AdBrite_Referrer+) kur "AdBrite_Iframe" vietā manuāli ierakstam pimēram 1 un "AdBrite_Referrer" manuāli ierakstam linku, kurā itkā atrodas šis reklāmas bloks un ieliekam piemēram rezultātu kādā formā, tālāk ar POST nododam datus nākamā lapā kura atver ģenerēto linku piemēram iekš iframe ar 0 pikseļiem!

 

Problēma sākas pie tā, kā izvadīt augstāk minēto linku un rezultātu ievietot formā? Es mēģināju izvadīt ar iframe, bet iframe neizvada pilnu kodu...tad rodas jautājums, vai pastāv iekš JS kaut kas līdzīgs file_get_contents() ? Respektīvi uz apmeklētāja kompja tiek izvadīts garu garais rezltāts kurš apm izskatās šādi. Un tālāk ar augstāk minēto skriptu izvelkam liku kurš sākas ar "http://click.adbrite.com/mb/click.php?sid="!

 

Kā jums mana strategy? :D

 

Tātad nobeigumā vēlos atkārtot ko vēlētos no zinošākiem kungiem! Būtu vajadzīgs kāds JS risinājums kurš darbojas līdzīgi file_get_contents() iekš php! Vai arī kaut ko līdzīgu... Kāds var ieteikt kaut ko?

 

EDIT

 

Varbūt izveidojot JS skriptu ir iespējams pieslēgt citu skriptu? Tip līdzīgi kā include() iekš php?

Edited by Morphius
Link to comment
Share on other sites

Kam domāts "AdBrite_Iframe"(mani brauzeri kaut kādu iemeslu dēļ ģenerēja gan skaitli "1" gan skaitli "2")? Kāda jēga no šiem abiem cipariem?

Cipariem jēgu nezinu, jo nav ne jausmas, ko servera pusē skripts ar tiem dara. Taču tas 1 vai 2 tiek ģenerēts no šīs izteiksmes: window.top!=window.self?2:1. Attiecīgi apskaties dokumetācijā, kas ir window.top un window.self un izdari secinājumu :)

 

Bet ar k nodarbojas funkcija "encodeURIComponent()"?

Tāpati atbilde, kas uz iepriekšējo jautājumu: http://lmgtfy.com/?q=encodeURIComponent

 

vai pastāv iekš JS kaut kas līdzīgs file_get_contents() ?

Ja gribi lasīt uz lietotāja diska atrodošos failus - tad nē, nevar. Ja gribi no servera pieprasīt datus, un saņemt atpakaļ uz javaskriptu, tad - jā, to var, piemēram, izmantojot XMLHttpRequest (AJAX).

 

Tip līdzīgi kā include() iekš php?

Jā var. Ar jQuery veidīgajām bibliotēkām to var visai vienkārši: $.getScript("http://urlis/skripts.js");

Manuāli to var izdarīt ar DOM funkcijām - atrodi HEAD tagu, un tam appendo SCRIPT tagu ar attiecīgiem atrībūtiem (url un type).

Link to comment
Share on other sites

Bubu, man te tomēr neskaidrības ar to JS...atradu reālus piemērus:

  1. http://www.javascripter.net/faq/reading2.htm
  2. http://www.javascripter.net/faq/xmlhttpr.htm

 

Bet abi šhie piemēri nespēj atvērt "http://ads.adbrite.com/mb/text_group.php?sid=200026&zs=3732385f3930&ifr=1" linku! Un ne tikai to AdBrite linku, jebkuru, pat no localhost... Paskaties lūdzu, kas par kašķi.

Varbūt ir kāds cits vienkāršāks veids kā izvilkt source kodu no linka, ievietot un ievietot to formā?

Link to comment
Share on other sites

Ja tu to saturu gribi izpildīt, nevis dabūt kā stringu, tad nevajag nekādu AJAX izmantot. Tad vajag taisīt to tavis teikto "līdzīgi kā include() iekš php" - tb likt lapai klāt dinamiski script tagu.

Link to comment
Share on other sites

Ja tu to saturu gribi izpildīt, nevis dabūt kā stringu, tad nevajag nekādu AJAX izmantot. Tad vajag taisīt to tavis teikto "līdzīgi kā include() iekš php" - tb likt lapai klāt dinamiski script tagu.

 

Bubu...man esanāk iebraukt Tevis teiktajā...kas tad man beigās ir jātaisa? :)

 

Man tomēr sanāca daļēji iebrauk augstāk manis dotajos piemēros.

 

Izmantojot šo piemēru man izmet JavaApplet error...tas nozīmē ka mans localhost neatbalsta to Java? Mēģināju iemst to skriptu savā hostingā...tas pats rezultāts:

load: class ReadURL.class not found.
java.lang.ClassNotFoundException: ReadURL.class
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: open HTTP connection failed:http://localhost/ReadURL/class.class
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 7 more
Exception: java.lang.ClassNotFoundException: ReadURL.class

 

respektīvi kašķis ir ar kaut kādu neesošu "/ReadURL/class.class"...

 

Bet ja ņem priekšā otru piemēru kurš strādā ar XMLHttpRequest, tad problēma ir tāda ka netiek lasīti dati no citiem serveriem!!! No local servera viss nostrādā tīri! Kapēc tāda neskaidrība? Kā peispiest skriptu ielādēt source kodu no cita servera?

 

Vai tiešām nevienam nav nekas pasaskāms saistībā uz šo jautājumu?

Edited by Morphius
Link to comment
Share on other sites

Java nav tas pats, kas Javaskripts. Tās ir divas dažādas lietas.

Ar AJAX diemžēl tik vienkārši nebūs ielādēt datus no cita domēna. Ir visādi haki pieejami - pameklē cross-domain ajax.

 

Bet kā jau tev saku - man jau šķiet, ka tev nekādu AJAX nevajag. Vajag šo:

Jā var. Ar jQuery veidīgajām bibliotēkām to var visai vienkārši: $.getScript("http://urlis/skripts.js");

Manuāli to var izdarīt ar DOM funkcijām - atrodi HEAD tagu, un tam appendo SCRIPT tagu ar attiecīgiem atrībūtiem (url un type).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...