Ochrana proti spatnemu vyuzitiu nicku v knihe
Ochrana proti spatnemu vyuzitiu nicku v knihe
Viete nemam knihu na registraciu cize ked niekto napise POST s nickom napr. Johny tak niekto iny ho tam tiez napsies inym textom a budeme si mysliet ze ide o stejneho usera. neda sa tomu nejako zabranit? registraciu ani login nexcem zbytocnost....trebars nejake zapisanie usera a zaroven aj pri jeho dalsiej navsteve aby sa mu ten nick co dal povolil ale len ten co napisal...nejako cez session? alebo proste aby nick nebol pristupny inym len jemu a nexcem to riesit cez IP preoze to ma mnozstvo problemov...a vobec to neni efektivne cize pls piste niekto
Sesion sa musi k užívateľovi nejako priradiť a jeden zo spôsobov je práve použitie IP adresy alebo cookie. Problém pri IP je ten, že nie každý má statickú verejnú adresu. Pri cookie je zase problém, že užívateľ tie cookies môže vymazať.
Takže registrácia je najjednoduchší spôsob, ako dosiahnuť to, čo potrebuješ.
Takže registrácia je najjednoduchší spôsob, ako dosiahnuť to, čo potrebuješ.
este ma napadlo ze by som mohol ocislovat userov v opradi cez php jak pisali tak odhalim podvodnicky nick ked budem mat Johny dajmet tomu poradove coslo 1 a Johnydruhy 2 tak Johny2 ma BAN
skratka snazim sa registracii co najlepsie vyhybat...pretoze b so musel robit velke zemny v kdoe moja Gb neni usposobena pre registraciu login mam len do administracie
a navyse riesim aj smajliky neviem ako ich urobit i ked som si precitol milion navodov na nete
mozno je cyhba tam kde tie kody pcham
Alebo nevadi uz som to vyriesil
no mam problem furt s tymi smajlikmi...neviem mam to takto:
Moj textarea do ktoreho xcem aby sa to vkladalo ma name="text" tak som skusal prepisat formular na text no nepomoholo to
A este mam toto ale to je jedno podstatne je ze to NEJDE:
Pls helfnite co s tym

Kód: Vybrať všetko
<script language="javascript" type="text/javascript">
function Smajl(co)
{
document.forms.formular.text.focus();
document.forms.formular.text.value=
document.forms.formular.text.value+co;
}
function ctrlenter(e){
if(document.all){e=window.event;}
if(e.ctrlKey&&e.keyCode==0x0d){
document.forms.formular.submit();return false;
}
}
</script>A este mam toto ale to je jedno podstatne je ze to NEJDE:
Kód: Vybrať všetko
<div align="center" class="text">Smajlíky:
<img onclick="Smajl(':) ')" src="smile1.gif" alt=":}" onmouseover="this.style.cursor='hand'">
<img onclick="Smajl(' lol ')" src="smile2.gif" alt="lol" onmouseover="this.style.cursor='hand'">
<img onclick="Smajl(':-D ')" src="smile3.gif" alt=":-D" onmouseover="this.style.cursor='hand'">
<img onclick="Smajl('=) ')" src="smile4.gif" alt="=)" onmouseover="this.style.cursor='hand'">
<img onclick="Smajl(':o) ')" src="smile5.gif" alt=":o)" onmouseover="this.style.cursor='hand'">
<img onclick="Smajl(':-B ')" src="smile6.gif" alt=":-B" onmouseover="this.style.cursor='hand'">
<img onclick="Smajl('8-D ')" src="smile7.gif" alt="8-D" onmouseover="this.style.cursor='hand'">
<img onclick="Smajl(':-P ')" src="smile8.gif" alt=":-P" onmouseover="this.style.cursor='hand'">
<img onclick="Smajl(':-)) ')" src="smile9.gif" alt=":-))" onmouseover="this.style.cursor='hand'">
<img onclick="Smajl(':-< ')" src="smile10.gif" alt=":-<" onmouseover="this.style.cursor='hand'">
<img onclick="Smajl(';) ')" src="smile11.gif" alt=";)" onmouseover="this.style.cursor='hand'">
<img onclick="Smajl(':-/ ')" src="smile12.gif" alt=":-/" onmouseover="this.style.cursor='hand'">
<img onclick="Smajl(':-( ')" src="smile13.gif" alt=":-(" onmouseover="this.style.cursor='hand'">
<img onclick="Smajl(':.( ')" src="smile14.gif" alt=":.(" onmouseover="this.style.cursor='hand'">
<img onclick="Smajl(' O.o ')" src="smile15.gif" alt="O.o" onmouseover="this.style.cursor='hand'">
<img onclick="Smajl(';o) ')" src="smile16.gif" alt=";o)" onmouseover="this.style.cursor='hand'">Skús niečo takéto:
PS: Ja by som aj tak použil hotové riešenie a registráciu. 
Kód: Vybrať všetko
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>test</title>
<script type="text/javascript"><!--
function insertSmiley(text)
{
var message = document.getElementById("text");
if (message.createTextRange && message.caretPos) {
var caretPos = message.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
message.focus();
} else {
message.value += text;
message.focus();
}
return false;
}
--></script>
<style>
.smilies {
border: 1px solid black;
padding: 4px;
}
.smiley {
cursor: pointer;
}
</style>
</head>
<body>
<form action="#" method="post">
<div class="smilies">
<img class="smiley" src="01.png" alt=":)" title=":)" width="15" height="15" onclick="insertSmiley(':)')">
<img class="smiley" src="02.png" alt=":D" title=":D" width="15" height="15" onclick="insertSmiley(':D')">
</div>
<textarea name="text" id="text" rows="3" cols="40"></textarea><br>
<input type="submit" value="Odoslat">
</form>
</body>
</html>-
mastermind
VIP
- Príspevky: 4810
- Registrovaný: 09 feb 2005, 13:17
nejako mi to nejde lebo ten tvoj kod mi vytvori textareu dalsie ale ja to xcem do tej starej takze kukni tu je moj nepodareny kod:
Kód: Vybrať všetko
<?php
require("secure.php"); // Nutno vlozit takto do kazde tajne stranky
?>
<?php
$name = trim(htmlspecialchars(addslashes($_POST['name'])));
$email = trim(htmlspecialchars(addslashes($_POST['email'])));
$site = trim(htmlspecialchars(addslashes($_POST['site'])));
$ip=$_SERVER['REMOTE_ADDR'];
if (!$site){ // ak navstevnik nema svoju stranku a nezapise ju tak sa do databazy nezapise nic
$site = '';
}
$text = htmlspecialchars(addslashes($_POST['text']));
$time = date('d.m.Y H:i');
mysql_connect('mysql.ic.cz', 'xxxx', 'xxxx) or die('Spojenie s databazou sa nepodarilo'); //spojime sa s databazou
mysql_select_db('xxxxx') or die('Nepodarilo sa vybrať databázu.'); //vyberieme databazu
if (isset($_POST['sent'])) // vracia true ak je stlacene tlacidlo Send
{
if ($name != '' || $email != '' || $text != '') // vracia true ak sa $name, $email, $text nerovnajú prázdnym hodnotám
{
if (ereg('^.+@.+\\..+$', $email)) //vracia true ak je mail spravneho formatu
{ // ak všetky predošle podmienky vratili true data sa uložia do databáze
$sql = 'INSERT INTO guestbook (`name`, `email`, `ip`, `site`, `text`, `time`) VALUES ("'.$name.'", "'.$email.'", "'.$ip.'", "'.$site.'", "'.$text.'", "'.$time.'")';
$result = mysql_query($sql);
header('Location: '.$_SERVER['PHP_SELF'].'?report=succes'); // a znova sa naèita stránka so správou o uspešnom pridani prispevku
}
else {
header('Location: '.$_SERVER['PHP_SELF'].'?report=badmail'); // vypise spravu o chybnom maile ak podmienka s formatom mailu vratila false
}
}
else {
header('Location: '.$_SERVER['PHP_SELF'].'?report=error'); // vypise chybu ak premenne $name, $email, $text sa rovnajú prazdnym hodnotám
}
}
if ($_SERVER[’HTTP_X_FORWARD_FOR’]) {
$ip = $_SERVER[’HTTP_X_FORWARD_FOR’];
} else {
$ip = $_SERVER[’REMOTE_ADDR’];
}
$domain = GetHostByName($REMOTE_ADDR);
?>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<style>
input {
font-family : Times New Roman, Sans-Serif;
font-size : 14px;
color : #66CCCC;
background-color: #336666;
border: 2px solid #339999;
}
textarea {
font-family : Times New Roman, Sans-Serif;
font-size : 14px;
color : #66CCCC;
border: 2px solid #339999;
background-color: #336666;
}
.vypistextu {
font-family : Times New Roman, Sans-Serif;
font-size : 14px;
color : #66CCCC;
}
a img {
border:0px;
}
</style>
<body bgcolor="#336666">
<center><form method="post">
<html>
<head>
<title>test</title>
<script type="text/javascript"><!--
function insertSmiley(text)
{
var message = document.getElementById("text");
if (message.createTextRange && message.caretPos) {
var caretPos = message.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
message.focus();
} else {
message.value += text;
message.focus();
}
return false;
}
--></script>
</head>
<font color="#00CCCC">
<b>*Meno:</b> <input type="text" name="name"><br>
<br>
<b>*Email:</b> <input type="text" name="email"><br>
<br>
<b>Web:</b> <input type="text" name="site"><br>
<br>
<body>
<form action="#" method="post">
<div class="smilies">
<img class="smiley" src="01.png" alt=":)" title=":)" width="15" height="15" onclick="insertSmiley(':)')">
<img class="smiley" src="02.png" alt=":D" title=":D" width="15" height="15" onclick="insertSmiley(':D')">
</div>
<b>*Text príspevku:</b><br><textarea name="text" cols="50" rows="5" wrap="soft">
</textarea><br>
<input type="submit" name="sent" value="Odoslať">
</form></center>
<?php
$report = $_GET['report'];
switch ($report){ //Vypisuje spravy o cinnosti
case 'error':
echo '______________________________Zadaj všetky povinné údaje s hviezdièkou___________________________________________________<br><br>';
break;
case 'succes':
echo '____________________________________Pridanie prispevku bolo uspesne______________________________________________________<br><br>';
break;
case 'badmail':
echo '__________________________________________Zadal si neplatny mail_________________________________________________________<br><br>';
break;
default:
print ' Všetky údaje s hviezdièkou sú povinné. Do pola Web napíš bez http:// adresu svojej stránky. __________________________________________________________________________________<br><br>';
}
define ('ROWS', 5); //odpoveda poctu zaznamov na jednu stranu
if (!isset($HTTP_GET_VARS["num"])) // pokial nevieme kolko bude zaznamov tak to zistime
{
$result = mysql_query("SELECT id FROM guestbook");
$num = mysql_num_rows($result);
}
else
{
$num = $HTTP_GET_VARS['num'];
}
if ($num > ROWS)
{
$od = isset($HTTP_GET_VARS['od']) ? $HTTP_GET_VARS['od'] : 1;
$result = mysql_query("select * from guestbook order by id desc limit ".($od - 1).", ".ROWS);
while($row=mysql_fetch_object($result))
{
echo 'Meno: '.$row->name.$row->ip.'<br>Email: '.$row->email.'<br>Homepage:<a href="http://'.$row->site.'" target="_blank"> '.$row->site.'</a><br>èas: '.$row->time.'<br>Text:<br> <table width="500"><tr><td><div class="vypistextu">'.$row->text.'</div></td></tr></table><br><hr>';
}
echo 'Záznamov: ' .$od.'-';
echo (($od + ROWS - 1)<=$num) ? ($od + ROWS - 1) : $num;
echo ' Z celkom '.$num.' záznamov. Navigácia: ';
//Vytvor odkaz iba ked sme na zaciatku
if ($od == 1) echo 'Zaèiatok | ' ;
else echo '<a href='.$_SERVER['PHP_SELF'].'?num='.$num.'&od=1>Zaèiatok</a> | ';
//Zpet vytvor odkaz iba ked niesme na prvej strane
if ($od < ROWS) echo 'Predchadzajuci | ' ;
else echo '<a href='.$_SERVER['PHP_SELF'].'?num='.$num.'&od='.($od-ROWS).'>Predchádzajuci</a> | ';
//Vytvor odkaz iba ked niesme na poslednej strane
if ($od + ROWS > $num) echo 'Následujúci | ';
else echo '<a href='.$_SERVER['PHP_SELF'].'?num='.$num.'&od='.($od+ROWS).'>Následujúci</a> | ';
//posledna strana
if ($od > $celkem - ROWS) echo 'Koniec <br>';
else echo '<a href='.$_SERVER["PHP_SELF"].'?num='.$num.'&od='.($celkem - $celkem % ROWS + 1).'>Koniec';
}
else
{
$result = mysql_query("select * from guestbook order by id desc limit ".$num);
while($row=mysql_fetch_object($result))
{
echo '<div style="float:right;"><a href="/del.php?id='.$row->id.'"><img src="Dlp.gif" alt=""></a></div>';
echo '<b> Nick:</b> '.$row->name.'<br><b> IP:</b> '.$row->ip.'<br> <b>Dátum a èas vloženia príspevku:</b> '.$row->time.'<br> <b>Email:</b> '.$row->email.'<br> <b>Web:</b><a href="http://'.$row->site.'" target="_blank"> '.$row->site.'</a><br><br> <table width="500"><tr><td> <div class="vypistextu"> '.$row->text.'</div></td></tr></table><br><hr>';
}
}
?>
skutocne?lama2d napísal:mysql_connect('mysql.ic.cz', 'xxxx', 'xxxx)
Nechyba ti tam nic? btw. mala by sa zaviest daka sutaz v neefektivnosti scriptov. Urcite by si bodoval... Mimochodom z tvojho predchadzajuceho prispevku sa neda pochopit co mas za problem...
Prosim niekoho aby mi nasiel nejaky dobry tut na registraciu a login. Bo som hladal na googl ia vacsina z nich ma budto chybu v sql tabulke alebo v cookies. Preto prosim niekoho nedch mi doporuci nejaky dobry. Dakujem predom skusal som tieto:
Pc svet - NO
Interval - NO (najhorsi asi)
a itzone xcme skusit no zatial fakt helfnite
Pc svet - NO
Interval - NO (najhorsi asi)
a itzone xcme skusit no zatial fakt helfnite
To záleží od toho, akú stránku vlastne robíš. Skús sa pozrieť sem: http://www.opensourcecms.com/ (sú tam demá CMS).
robim stranku s downloadmi a jednoduchu taku stranku jednoduchu. Proste xcem registraciu + login ktore by mali mat taketo priznaky:
ak nie si lognuty tak nemozes pisat do GB
specialne na jeden nick nastavit administraciu
Aby som moholo editovat prispevky atd...i ked to mozem uuz teraz
Proste s tym loginom a s reg by osm is poradil ale nevime urobit podmienku PHP aby ked nie si lognuty nemozes pisat do GB
aby kazdy mohol editovat svoj prispevok (ja mam zatial len mazanie viz kukni sa do kodu)
proste ma to strasne moc komplikacii ktore asi CMS nevyriesi
napriklad urobit to ze ked sa regnes tak pri pisani prispevku sa ti automatikcy zada u prispevku tvoj nick
Ja by osm registarciu a login vobec nerobil ale co mi ostava?
Xcel som to riesit takto: Ked napises prispevok tak ta system nejako oznaci neivem ako a na zaklade toho pri pisani dlasieho ti povoli iba tvoj nick a nie niekoho ineho. Lenze existuje nejaky DOKONOLY na 100% sposob jak identifikovat usera? nie asi
ak nie si lognuty tak nemozes pisat do GB
specialne na jeden nick nastavit administraciu
Aby som moholo editovat prispevky atd...i ked to mozem uuz teraz
Proste s tym loginom a s reg by osm is poradil ale nevime urobit podmienku PHP aby ked nie si lognuty nemozes pisat do GB
aby kazdy mohol editovat svoj prispevok (ja mam zatial len mazanie viz kukni sa do kodu)
proste ma to strasne moc komplikacii ktore asi CMS nevyriesi
Ja by osm registarciu a login vobec nerobil ale co mi ostava?
Xcel som to riesit takto: Ked napises prispevok tak ta system nejako oznaci neivem ako a na zaklade toho pri pisani dlasieho ti povoli iba tvoj nick a nie niekoho ineho. Lenze existuje nejaky DOKONOLY na 100% sposob jak identifikovat usera? nie asi