PHP SoapServer

4 02 2009

Methods:
Array
(
[0] => SoapServer
[1] => setPersistence
[2] => setClass
[3] => setObject
[4] => addFunction
[5] => getFunctions
[6] => handle
[7] => fault
[8] => addSoapHeader
)





PostgreSQL

25 07 2008

This post is about postgresql commands and other stuffs about it. It will updated when I update it. :) )

Change PosgreSQL postgres user password

sudo -u postgres psql postgres
postgres=# ALTER USER postgres WITH ENCRYPTED PASSWORD 'a';
ALTER ROLE
postgres=# \q

Create a database with a user that have full rights on the database:

sudo -u postgres createuser -D -A -P myuser
sudo -u postgres createdb -O myuser mydb




Export Database Of Oracle XE 10.x On Ubuntu Linux

22 07 2008
oracle@bianca:~$ export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/
oracle@bianca:~$ /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/exp angelina@bianca

Export: Release 10.2.0.1.0 - Production on Wed Jul 23 04:47:59 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Password:

Connected to: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
Enter array fetch buffer size: 4096 >

Export file: expdat.dmp > alectra-dev-20080723.dmp

(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U >

Export grants (yes/no): yes > no

Export table data (yes/no): yes >

Compress extents (yes/no): yes >

Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses AL32UTF8 character set (possible charset conversion)
Note: grants on tables/views/sequences/roles will not be exported

About to export specified users ...
User to be exported: (RETURN to quit) > alectra

User to be exported: (RETURN to quit) >

. exporting pre-schema procedural objects and actions
. exporting foreign function library names for user ALECTRA
...




Security Hole

22 04 2008

From cracker who defaced depkominfo.go.id :

beberapa kelemahan pada situs depkominfo:
XSS
SQLi
LFI/RFI

beberapa settingan pada depkominfo.go.id yg membantu proses hacking:
allow_url_include = on
magic_quotes_gpc = off
user mysql memiliki file_priv on
beberapa folder pada root document yang memiliki write permission untuk user apache





PHP Redirect to SSL

2 04 2008
<?php
if ($_SERVER['SERVER_PORT'] != 443) {
	header("HTTP/1.1 301 Moved Permanently");
	header("Location: https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
	exit();
}
?>




Implementing SOAP Server on CakePHP

23 01 2008

My key concept is: create the SOAP server in the Controller and the methods in the Model. Why? Because controller is … (read this) and model is this.

As an example here we gonna make web service for Post of a Blog (see Blog Tutorial) using native SOAP in PHP version 5.

We’ll put the SOAP handler at URL: http://yourhost/posts/service and the WSDL (which is will be used by the SOAP consumer) at URL: http://yourhost/posts/wsdl.

  1. Create table Post (see the Blog Tutorial for details).
  2. Create Post model (models/post.php) as usual.
  3. Create Post controller (controllers/posts_controller.php), see bellow. You need RequestHandler component for create XML-type response on wsdl action.
  4. Create view for action “wsdl” (views/posts/wsdl.ctp) and define your service method in it. You can publish all of methods in Post model including from its parent (AppModel), eg. findById(), find(), findAll(), etc. Note: you should turning off “short_open_tag” in php.ini to avoid error on rendering the xml of wsdl view. And don’t forget to define your service address in the WSDL to http://yourhost/posts/service.
  5. Now your service consumer could consume your service by pointing to your WSDL URL (http://yourhost/posts/wsdl).

Here are the sample codes: Read the rest of this entry »





Disable AutoRun in Ms. Windows

23 01 2008

Via group policy:

  1. Go to Start > Run
  2. Type gpedit.msc & press Enter. You should see the Group Policy window.
  3. In the left-hand column, select Computer Configuration > Administrative Templates > System
  4. Next, look in the right-hand column for “Turn off Autoplay”, and double-click on that.
  5. Next, in the “Turn Off Autoplay Properties” window, select “Enabled”
  6. Then choose “All drives” from the dropdown menu in “Turn off Autoplay on:”
  7. Click OK.




Web Service Client using CakePHP & PHP SOAP

1 08 2007

I’m using PHP version 5.2.1 and CakePHP version 1.1.16-5421.

In this example we’ll create a basic web service client using native PHP SOAP function and CakePHP. The service we will consume is a “fortune”, you can find its info at xmethods.net.

Here is the complete code:

<?php
class WsController extends AppController {
	var $uses = array();
	var $layout = '';

	function fortune() {
		ini_set("soap.wsdl_cache_enabled", "0"); // disabling WSDL cache
		$client = new SoapClient("http://www.doughughes.net/WebServices/fortune/fortune.cfc?wsdl",
			array('proxy_host' => "10.1.89.231",'proxy_port' => 8080)
		); // I'm using proxy to connect Internet from my LAN
		try {
			echo $client->getFortune();
		} catch (SoapFault $exception) {
			echo $exception;
		}
	}
}
?>

Don’t forget to create empty file for the view (I’m wondering how to create an action without a view in CakePHP). Then access it at http://<url to your cake>/ws/fortune.

The key in that code is the WSDL, and function “getFortune()” which is defined in the WSDL.

Really simple isn’t it?





Javascript Variable on Internet Explorer

8 07 2007

Javascript variable name can not be same as DOM element id name on Microsoft Internet Explorer. If it same, it will caused error on IE.

Example:

This example will caused error on IE.

<div id="varFoo" >Foo Bar</div>
<script type="text/javascript">
varFoo = document.getElementById('varFoo');
alert(varFoo);
</script>




PHP’s Control Structures

6 07 2007

if

<?php
if (expr)
   statement;
?>
<?php
if (expr)
   statement;
else
   statement;
?>
<?php
if (expr)
   statement;
else if (expr)
   statement;
else if (expr)
   statement;
else
   statement;
?> Read the rest of this entry »