Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: z3nth10n en 7 Junio 2012, 17:11 pm



Título: Sistema de creacion de "post" sin MySql
Publicado por: z3nth10n en 7 Junio 2012, 17:11 pm
Hola amigos, como puedo hacer en Php un sistema de posteo... Creo que es sencillo, porque como he observado, ya existen, os dejo el code:

Texto.php

Código:
<?php
session_start();
if ($_POST['action'] == "checkdata") {
if ($_SESSION['tmptxt'] == $_POST['tmptxt']) {


$nombre_archivo = 'texto.txt';
$contenido = "\r\nTexto:" . $_POST["texto"] . "\r\nNombre:" . $_POST["nombre"] . "\r\nEmail:" . $_POST["email"] . "\r\n\r\n\r\n";

if (is_writable($nombre_archivo)) {

if (!$gestor = fopen($nombre_archivo, 'a')) {
echo "<p>No se puede abrir el archivo para guardar su texto. Por favor, si el problema persiste contacte con el administrador.</p>";
exit;
}

if (fwrite($gestor, $contenido) === FALSE) {
echo "<p>No se puede escribir al archivo para guardar su texto. Por favor, si el problema persiste contacte con el administrador.</p>";
exit;
}

echo "<p>Su texto fue enviado correctamente y est&aacute; pendiente de verificaci&oacute;n.</p><p><a href='index.html'>Volver al &iacute;ndice</a></p>";

fclose($gestor);

} else {
echo "<p>No se puede escribir sobre el archivo para guardar su texto. Por favor, si el problema persiste contacte con el administrador.</p>";
}

} else {
echo "<span class='Estilo1'>El c&oacute;digo captcha es incorrecto</span><br><a href='javascript:history.go(-1);'>Volver atr&aacute;s</a>";
}
}
?>

Captcha.php

Código:
<?php
// archivo: captcha.php
function randomText($length) {
$pattern = "1234567890abcdefghijklmnopqrstuvwxyz";
for($i=0;$i<$length;$i++) {
$key .= $pattern{rand(0,35)};
}
return $key;
}?>
<?php
session_start();
$_SESSION['tmptxt'] = randomText(8);
$captcha = imagecreatefromgif("bgcaptcha.gif");
$colText = imagecolorallocate($captcha, 0, 0, 0);
imagestring($captcha, 5, 16, 7, $_SESSION['tmptxt'], $colText);
header("Content-type: image/gif");
imagegif($captcha);
?>

index.html

Código:
<html>
<head>
</head>
<body>
<center><form action="texto.php" method="post" enctype="multipart/form-data" name="formredac">
Texto:<br />
<textarea name="texto" cols="60" rows="8"></textarea>
<br />Nombre:<br /><input name="nombre" type="text" size="30" maxlength="40" style="text-align:center" />
<br />Email:<br /><input name="email" type="text" size="30" maxlength="50" style="text-align:center" />
<br /><img src="captcha.php" width="100" height="30"><br>
<input name="tmptxt" type="text" style="text-align:center"><br>
<input name="" type="submit" value="Enviar" />
<input name="action" type="hidden" value="checkdata">
</form></center>
</body>
</html>

Lo que  no quiero es captcha, lo sencillo seria hacer lo principal, es decir, hacer una pagina quitar la captcha, editar el code para que funcione, (si tengo alguna duda la pregunto), pero... Como hago para que la gente no vea desde donde agrego los "post"?? es decir la gente se podria meter desde por ejemplo http://ejemplo.com/add.html, o algo asi, como lo evito???  >:D

Un saludo.



Esto lo quiero para mi pagina web de juegos, luego mando como se queda...


Título: Re: Sistema de creacion de "post" sin MySql
Publicado por: #!drvy en 8 Junio 2012, 20:30 pm
Pues pon una contraseña y un campo que pida dicha contraseña, luego lo comparas y listo.

Código
  1. <?php
  2.  
  3. if(empty($_POST['password']) OR $_POST['password']!='blablabla'){die('Contraseña no valida;');}
  4.  
  5. // Resto del code
  6.  
  7. ?>


Saludos


Título: Re: Sistema de creacion de "post" sin MySql
Publicado por: z3nth10n en 8 Junio 2012, 21:15 pm
y si es dentro del html... bueno, se me ocurrio una forma, pero lo principal es que  me pregunte al principio...  :-\


Título: Re: Sistema de creacion de "post" sin MySql
Publicado por: z3nth10n en 9 Junio 2012, 00:16 am
Hola, bueno, hasta aqui llevo el code:

<?php

$usuario = "usuario";
$clave = "clave";
$usar_session = false;

?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/index.css">
</head>
<body>
<h1>Logueate para enviar contenido:</h1>
<form name="form" method="post" action="" id="login">
<center><div id="pass">
<p><label for="usuario">Usuario:</label>
<br /><input type="text" title="Inserta el nombre de usuario" name="usuario" /></p>
<p><label for="clave">Clave:</label>
<br /><input type="password" title="Inserta tu clave" name="clave" /></p>
<p><input type="submit" name="Submit" value="Acceso" /></p>
</form><div></center>
<?
if ($_POST['usuario'] == $usuario && $_POST['clave'] == $clave || isset($_SESSION['protegido'])) {
if($usar_session){
@session_start();
$_SESSION['protegido'] = $usuario;
}
$mostrar_contenido = false;
?>
'<script>document.getElementById("login").style.display="none"; </script>Este formulario sirve para a&ntilde;adir juegos a la web:
<center><form action="texto.php" method="post" enctype="multipart/form-data" name="formredac">
Descripci&oacute;n:<br />
<textarea name="description" cols="60" rows="8"></textarea>
<br />T&iacute;tulo:<br /><input name="title" type="text" size="30" maxlength="40" style="text-align:center" />
<br />Ruta de la im&aacute;gen (http://):<br /><input name="imgs" type="text" size="30" maxlength="50" style="text-align:center" />
<br />Ruta del Swf (http://):<br /><input name="path" type="text" size="30" maxlength="50" style="text-align:center" /><br><br>
<input name="" type="submit" value="Enviar juego" />
<input name="action" type="hidden" value="checkdata">
</form></center>
<? } else{
$incurs = "Usuario incorrecto.";
echo $incurs;

 } ?>
</body>
</html>

pero tengo un problema, lo que puse en negrita se carga sin que yo lo llame, como hago para que no se muestre, hasta el momento de accion?  >:D