Crossdomain dosya düzenleme

1 Cevap php

I need to know, where from is my script used (it's for sale, and i don't want any thiefs). I want to write on my server in file, IP of user, domain where from script has been runned, date, etc. I've tried fopen, fwrite, but is_file_writable returned that it isn't. File CHmods are 777, it parent catalog has too 777 chmods.

Şimdi böyle bir şey çalışıyorum:

<?php
$file = 'http://www.misiur.com/security/seal.txt';

$data = date("Y-m-d H:i:s");
$ip = $_SERVER['REMOTE_ADDR'];
$svr = $_SERVER['SERVER_NAME'];
$str = "[$data] Loaded by $ip at $svr\r\n";

$current = file_get_contents($file);
$current .= $str;
file_put_contents($file, $current);
?>

Ancak - hiçbir şey olmuyor. Ne yapmam lazım?

1 Cevap

HTTP URL sarıcı doesn't allow writing.

Bunu yapmanın en iyi yolu, uzak sunucunun ucunda bir komut dosyası olan (sizin örnekte, misiur.com olacaktır:

http://www.misiur.com/security/write_seal.php

POST kullanarak bu komut için yeni bir metin dosyasının içeriğini gönderebilirsiniz. Komut istiyorsunuz o zaman file_put_contents() alınan bilgi locally.

Kolayca uzaktan komut POST içeriğini göndermek için izin verir Here 'sa kod pasajı. GET genellikle 1-2 kilobayt boyutu sınırlıdır çünkü POST ihtiyacınız olacaktır.

Tabii ki, örneğin, kötü niyetli kullanımını önlemek için bir şekilde o senaryoyu sağlamak için gerekir Bir .htaccess tabanlı şifre koruması ya da bir geçiş anahtarı aracılığıyla.