PDA

View Full Version : سوال: تشخیص کپی متن و عکس



h.alizadeh
سه شنبه 07 اردیبهشت 1389, 19:49 عصر
سلام،
من در صفحه ای از سایتم از بانکم مثلا متنی رو در یک لیبل نمایش میدهم .
حالا آیا راهی هست که اگه کاربری اومد و این متن موجود در لیبل رواز روش کپی کرد من متوجه بشم؟ یعنی بتونم توسط برنامه تشخیص بدم؟؟
همینطور عکسی رودر یک کنترل imageقرار می دهم میتونم کپی شدن این عکس روتشخیص بدم یا خیر؟ (مثلا کاربر عکس رو کپی کنه توی سیستمش من بفهمم)

milade
سه شنبه 07 اردیبهشت 1389, 22:07 عصر
اره ممکنه !
شما میتونی با event های JQoury یا java این کار رو انجام بدید .
روشش هم خیلی راحته وقتی OnSelect فراخونده شد شما یه پست با XMLwebRequest انجام میدی و وب متد سمت سرور رو تحریک میکنی تا درخواستت رو پردازش کنه ...

این یه سمپل هست و فکر کنم به اندازه کافی گویا داستان باشه ...
سمت سرور با شما ( یه Return میخواد ! )
( با کمی تغییر به کپی ست پیدا میکنید ! )


<html>
<head>
<script type="text/javascript">
var xmlhttp;
function Select()
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url="index.aspx?q=select";
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
</script>
</head>
<body>

Peyman.Gh
سه شنبه 07 اردیبهشت 1389, 22:51 عصر
یعنی اگر عکسی را Save As کرد میتوان فهمید :متفکر:

milade
سه شنبه 07 اردیبهشت 1389, 23:05 عصر
یعنی اگر عکسی را Save As کرد میتوان فهمید
اشاره شده :

همینطور عکسی رودر یک کنترل imageقرار می دهم میتونم کپی شدن این عکس روتشخیص بدم یا خیر؟ (مثلا کاربر عکس رو کپی کنه توی سیستمش من بفهمم)

Behrouz_Rad
سه شنبه 07 اردیبهشت 1389, 23:39 عصر
روشش هم خیلی راحته وقتی OnSelect فراخونده شد شما یه پست با XMLwebRequest انجام میدی و وب متد سمت سرور رو تحریک میکنی تا درخواستت رو پردازش کنه ...

انتخاب کردن یک متن لزوماً به معنای کپی کردن اون نیست!... ضمناً شما قسمت اصلی ماجرا رو ول کردی رفتی سراغ کدهای AJAX؟!!! ;)
من الان خوابم میاد اما کمی روی این قضیه وقت گذاشتم... کپی شدن متن رو با کیبورد می تونی متوجه بشی اما آگاهی از ذخیره کردن عکس به نظرم امکان پذیر نیست:


<script type="text/javascript">
function checkTxt(event) {

var t = "";
if (window.getSelection) {
t = window.getSelection();
} else if (document.getSelection) {
t = document.getSelection();
} else if (document.selection) {
t = document.selection.createRange().text;
}

if (t.toString().length > 0 && event.keyCode == 67 && event.ctrlKey == true) {
alert("Sheytooni nakon!");
}
}

$(function() {
$(document).keydown(checkTxt);
});


</script>

شب بخیر ;)

h.alizadeh
چهارشنبه 08 اردیبهشت 1389, 21:40 عصر
ممنونم ازتون،

میگم این قسمت کدتون چطوری هست کار نمیکنه واسه من


$(function() {
$(document).keydown(checkTxt);
});



من اینجوری نوشتم حل شد:


document .onkeydown=checkTxt;


میخواستم بدونم این قسمت کد شما چطوری ه ؟ (البته خوشگل هست:p)

راستی میشه جای اینکه بگم شیطونی نکن یه جایی توی سرور ثبت کنم که بعله این کپی کرده مثلاً؟!

Behrouz_Rad
چهارشنبه 08 اردیبهشت 1389, 23:11 عصر
میخواستم بدونم این قسمت کد شما چطوری ه ؟ (البته خوشگل هست:p)

از jQuery استفاده کردم.


راستی میشه جای اینکه بگم شیطونی نکن یه جایی توی سرور ثبت کنم که بعله این کپی کرده مثلاً؟!

بله میشه بلافاصله با AJAX درخواستی رو به سرور ارسال کنی.

موفق باشید.

alireza_s_84
پنج شنبه 09 اردیبهشت 1389, 00:14 صبح
سلام : یه راه دیگه هم هست:
هر المنتی دارای یک ایونت onCopy هست شما میتونی اونو هندل کنی و عملیات مربوطه رو انجام بدی و فرقی نمیکنه المنت چی باشه مثلا:
<script>
function OnCopy () {
if (window.clipboardData) {
window.clipboardData.setData ("Text", "My clipboard data");
}
return false; // cancels the default copy operation
}
</script>

<body oncopy="return OnCopy ()">
شما میتونی توی متد OnCopy المنتی که سبب شلیک ایونت شده رو با eventTarget بدست بیاری و اگر المنت مورد نظرت بود هرکاری خواستی بکنی.