Witajcie, mam pewien problem -
Mam skrypt na dodawanie komentarzy, chce zrobić coś, aby spamerzy nie mogli wkleić linków do innych stron, zrobiłem takie coś w JS:
Kod
function sprawdz()
{
if(document.getElementById("comment").value.indexOf("http://")!=-1) {alert("Nie można wklejać linków do innych stron"); return false;} else {window.event.returnValue=true;}
}
Po naciśnięciu button "wyślij" wyskakuje ten komunikat, jesli w komentarzu znajduje sie http:// - fajnie.
Problem polega na tym ze i tak wysyła ta wiadomość, bo w sumie, ciężko będzie zatrzymać skrypt PHP poprzez JS, da sie takie coś zrobić?
Albo da sie coś zrobić takiego w PHP? Próbowałem,
Kod
if ($comment == ("http://") or ("https://") or (".com") or ("[url=") or ("[/url]") or ("<a href=")or ("</a>") or (".es") or ("www")){
echo "<script language=\"JavaScript\"> setTimeout(\"window.location.replace('http://frikiz.com')\", 1) </script>";
echo "<script language=\"JavaScript\"> alert('Nie można wklejać linków do innych stron!') </script>";
sleep (5);
$comment = exit;
}
Niestety, te działania sie włączają od razu po wczytaniu strony.
Reasumując, jak można zrobić, tak ze, kiedy znajdzie linki w textboxie, zatrzymywano wykonywanie skryptu, i dawało jakaś wiadomość dla użytkownika, aby wiedział o co "kaman"

Obojętnie, czy w js, czy w php.
Pozdrawiam.
Wogole jestem jeszcze bardzo słabym webmasterem, wiec możecie sie spodziewać głupich błędów.
BTW. wkleję skrócony skrypt na te komentarze, tak na wszelki wypadek:
<html>
<head>
<script language="JavaScript">
<!--
function sprawdz()
{
if(document.getElementById("comment").value.indexOf("http://")!=-1) {alert("Nie mozna wklejac linków do innych stron"); return false;} else {window.event.returnValue=true;}
}
</script>
</head>
<body>
<?php
function smile(){
?>
<a href="http://frikiz.com/pages/gifs.htm" onclick="window.open('http://frikiz.com/pages/gifs.htm', 'http://frikiz.com/pages/gifs.htm', 'menubar=yes,toolbar=yes,location=centre,directories=yes,status=no,scrollbars=yes
resizable=yes,fullscreen=no,channelmode=yes,width=300,height=500').focus(); return false"><p><strong>Gifs</strong></p></a>
<?php
}
//if ($comment == ("http://") or ("https://") or (".com") or ("[url=") or ("[/url]") or ("<a href=")or ("</a>") or (".es") or ("www")){
//echo "<script language=\"JavaScript\"> setTimeout(\"window.location.replace('http://frikiz.com')\", 1) </script>";
//echo "<script language=\"JavaScript\"> alert('ĄNo puede poner links a otras paginas web!') </script>";
//sleep (5);
//$comment = exit;
//}
$lis="0";
$user=file("../../../coment/badwords.txt"); for($x=0;$x<sizeof($user);$x++) {
$opp[$x] = "$jemp[0];";
$list[$lis] = $opp[$x];
$lis++;
}
for($y=0;$y<sizeof($list);$y++) {
$comment = trim($comment); }
}
$main_file_m = $mfile;
$latest_rev = 20; //Number of latest reviews to show
$lines_review = file($main_file_m); $abc = count($lines_review); $uli = $abc - $latest_rev;
echo "<table width=425 height=30 align=center border=0 cellpadding=0 bordercolor=#3a
4f6c>"; for($cv = $abc; $cv >= $uli ;$cv--){
if(substr($lines_review[$cv], 0, 6 )=="[list]"){ $lpop = explode("|~|",$lines_review[$cv]); if ($lpop[5]=="5"){
$img="../../../coment/vota/b5.jpg";
}elseif ($lpop[5]>="4"){
$img="../../../coment/vota/b4.jpg"; }
elseif ($lpop[5]>="3"){
$img="../../../coment/vota/b3.jpg"; }elseif ($lpop[5]>="2"){
$img="../../../coment/vota/b2.jpg"; }elseif ($lpop[5]>="1"){
$img="../../../coment/vota/b1.jpg"; }
$bar="<img src='$img'>";
echo "<tr><td bgcolor=#c2cfdf>$lpop[1] Ańadido en $lpop[3] $bar</td></tr><tr><td bgcolor=#f5f9fd>$mesi </td></tr>"; }
}
?>
</td></table>
<form method='post'>
<table align="center" width=400 height=280 border='1' cellspacing='0' bordercolor=#000000 bgcolor=#F5F9FD>
<tr><font size=1>
<td bgcolor=#B2BFCF><img alt="" border="0" src="../../../gifs/discuss.gif" class="style96" width="16" height="16" /><font face="arial" size="2"><b>Comenta y ańade tu voto personal</b></font></td>
</span><br />
<tr><td><table border='0'cellspacing='0' align=middle bgcolor=#f5f9fd>
<tr><td><font size=1>
Nombre:<BR></font></b></td><td><input type='text' maxlength="30" name='name' size=20 style="font-weight:10"></td><td>Vota: <select name=rate><option value="">Selecciona<option value="5">5 - Excelente!<option value="4">4 - Muy bueno<option value="3">3 - Normal<option value="2">2 - Malo<option value="1">1 -Muy malo</select></td></tr></table><table>
<tr valign='top'><td></td><td align=middle><?php
smile();
?></td><tr><td><font size=1>
Texto:<BR></b></td>
<td><textarea cols='5' rows='3' maxlength="60" name='comment' id="comment" onkeydown="textCounter(this.form.comment,this.form.descriptionleft,60);"></textarea><br>Faltan: <INPUT maxLength=3 name=descriptionleft readOnly size=3 tabIndex=60 value=60 s
tyle='BORDER-RIGHT: 0px; BORDER-TOP:0px;BORDER-LEFT:0px; BORDER-BOTTOM:0px;BACKGROUND-COLOR: #f5f9fd;'></td></tr>
<tr><td></td><td>
<input type='submit' value='Ańadir' style="background:#f5f9fd;border-width:1;Border-color:#3a4f6c;" onClick="sprawdz()"></td></tr>
</table>
</table>
</form>
</font>
Ten post edytował inOs 9.08.2008, 10:09:18